Voice assistant persistence across multiple network microphone devices

ABSTRACT

Systems and methods for maintaining voice assistant persistence across multiple network microphone devices are described. In one example, first and second NMDs each identify a wake word based on detected sound, and are each transitioned from an inactive state to an active state in which the NMD captures and transmits sound data over a network interface. The first NMD is selected over the second NMD to output a first response, and both NMDs remain in the active state to further capture and transmit sound data. After further capturing and transmitting of sound data, the second NMD is selected over the first NMD to output a second response. After a predetermined time, one or both of the NMDs are transitioned back to the inactive state. The selection of one NMD over another for outputting a response can be based at least in part on user location information.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.16/402,617, filed May 3, 2019, which is incorporated herein by referencein its entirety.

TECHNICAL FIELD

The present technology relates to consumer goods and, more particularly,to methods, systems, products, features, services, and other elementsdirected to voice-controllable media playback systems or some aspectthereof.

BACKGROUND

Options for accessing and listening to digital audio in an out-loudsetting were limited until in 2003, when SONOS, Inc. filed for one ofits first patent applications, entitled “Method for Synchronizing AudioPlayback between Multiple Networked Devices,” and began offering a mediaplayback system for sale in 2005. The SONOS Wireless HiFi System enablespeople to experience music from many sources via one or more networkedplayback devices. Through a software control application installed on asmartphone, tablet, or computer, one can play what he or she wants inany room that has a networked playback device. Additionally, using acontroller, for example, different songs can be streamed to each roomthat has a playback device, rooms can be grouped together forsynchronous playback, or the same song can be heard in all roomssynchronously.

Given the ever-growing interest in digital media, there continues to bea need to develop consumer-accessible technologies to further enhancethe listening experience.

BRIEF DESCRIPTION OF THE DRAWINGS

Features, aspects, and advantages of the presently disclosed technologymay be better understood with regard to the following description,appended claims, and accompanying drawings.

FIG. 1A is a partial cutaway view of an environment having a mediaplayback system configured in accordance with aspects of the disclosedtechnology.

FIG. 1B is a schematic diagram of the media playback system of FIG. 1Aand one or more networks.

FIG. 2A is a functional block diagram of an example playback device.

FIG. 2B is an isometric diagram of an example housing of the playbackdevice of FIG. 2A.

FIGS. 3A-3E are diagrams showing example playback device configurationsin accordance with aspects of the disclosure.

FIG. 4A is a functional block diagram of an example controller device inaccordance with aspects of the disclosure.

FIGS. 4B and 4C are controller interfaces in accordance with aspects ofthe disclosure.

FIG. 5 is a functional block diagram of certain components of an examplenetwork microphone device in accordance with aspects of the disclosure.

FIG. 6A is a diagram of an example voice input.

FIG. 6B is a graph depicting an example sound specimen in accordancewith aspects of the disclosure.

FIGS. 7-9 are signal line diagrams illustrating example data flows inaccordance with aspects of the disclosure.

FIG. 10 is a schematic view of a user navigating an environment having amedia playback system configured in accordance with aspects of thedisclosure.

FIG. 11 is a flow diagram of a method for maintaining voice assistantpersistence across multiple network microphone devices in accordancewith aspects of the disclosure.

The drawings are for purposes of illustrating example embodiments, butit should be understood that the inventions are not limited to thearrangements and instrumentality shown in the drawings. In the drawings,identical reference numbers identify at least generally similarelements. To facilitate the discussion of any particular element, themost significant digit or digits of any reference number refers to theFigure in which that element is first introduced. For example, element103 a is first introduced and discussed with reference to FIG. 1A.

DETAILED DESCRIPTION

I. Overview

Voice control can be beneficial in a “smart” home that includes smartappliances and devices that are connected to a communication network,such as wireless audio playback devices, illumination devices, andhome-automation devices (e.g., thermostats, door locks, etc.). In someimplementations, network microphone devices may be used to control smarthome devices.

A network microphone device (“NMD”) is a networked computing device thattypically includes an arrangement of microphones, such as a microphonearray, that is configured to detect sounds present in the NMD'senvironment. The detected sound may include a person's speech mixed withbackground noise (e.g., music being output by a playback device or otherambient noise). In practice, an NMD typically filters detected sound toremove the background noise from the person's speech to facilitateidentifying whether the speech contains a voice input indicative ofvoice control. If so, the NMD may take action based on such a voiceinput.

An NMD often employs a wake-word engine, which is typically onboard theNMD, to identify whether sound detected by the NMD contains a voiceinput that includes a particular wake word. The wake-word engine may beconfigured to identify (i.e., “spot”) a particular wake word using oneor more identification algorithms. This wake-word identification processis commonly referred to as “keyword spotting.” In practice, to helpfacilitate keyword spotting, the NMD may buffer sound detected by amicrophone of the NMD and then use the wake-word engine to process thatbuffered sound to determine whether a wake word is present.

When a wake-word engine spots a wake word in detected sound, the NMD maydetermine that a wake-word event (i.e., a “wake-word trigger”) hasoccurred, which indicates that the NMD has detected sound that includesa potential voice input. The occurrence of the wake-word event typicallycauses the NMD to perform additional processes involving the detectedsound. In some implementations, these additional processes may includeoutputting an alert (e.g., an audible chime and/or a light indicator)indicating that a wake word has been identified and extractingdetected-sound data from a buffer, among other possible additionalprocesses. Extracting the detected sound may include reading out andpackaging a stream of the detected-sound according to a particularformat and transmitting the packaged sound-data to an appropriate VASfor interpretation.

In turn, the VAS corresponding to the wake word that was identified bythe wake-word engine receives the transmitted sound data from the NMDover a communication network. A VAS traditionally takes the form of aremote service implemented using one or more cloud servers configured toprocess voice inputs (e.g., AMAZON's ALEXA, APPLE's SIRI, MICROSOFT'sCORTANA, GOOGLE'S ASSISTANT, etc.). In some instances, certaincomponents and functionality of the VAS may be distributed across localand remote devices. Additionally, or alternatively, a VAS may take theform of a local service implemented at an NMD or a media playback systemcomprising the NMD such that a voice input or certain types of voiceinput (e.g., rudimentary commands) are processed locally withoutintervention from a remote VAS.

In any case, when a VAS receives detected-sound data, the VAS willtypically process this data, which involves identifying the voice inputand determining an intent of words captured in the voice input. The VASmay then provide a response back to the NMD with some instructionaccording to the determined intent. Based on that instruction, the NMDmay cause one or more smart devices to perform an action. For example,in accordance with an instruction from a VAS, an NMD may cause aplayback device to play a particular song or an illumination device toturn on/off, among other examples. In some cases, an NMD, or a mediasystem with NMDs (e.g., a media playback system with NMD-equippedplayback devices) may be configured to interact with multiple VASes. Inpractice, the NMD may select one VAS over another based on theparticular wake word identified in the sound detected by the NMD.

In some implementations, a playback device that is configured to be partof a networked media playback system may include components andfunctionality of an NMD (i.e., the playback device is “NMD-equipped”).In this respect, such a playback device may include a microphone that isconfigured to detect sounds present in the playback device'senvironment, such as people speaking, audio being output by the playbackdevice itself or another playback device that is nearby, or otherambient noises, and may also include components for buffering detectedsound to facilitate wake-word identification.

Some NMD-equipped playback devices may include an internal power source(e.g., a rechargeable battery) that allows the playback device tooperate without being physically connected to a wall electrical outletor the like. In this regard, such a playback device may be referred toherein as a “portable playback device.” On the other hand, playbackdevices that are configured to rely on power from a wall electricaloutlet or the like may be referred to herein as “stationary playbackdevices,” although such devices may in fact be moved around a home orother environment. In practice, a person might often take a portableplayback device to and from a home or other environment in which one ormore stationary playback devices remain.

In some cases, multiple voice services are configured for the NMD, or asystem of NMDs (e.g., a media playback system of playback devices). Oneor more services can be configured during a set-up procedure, andadditional voice services can be configured for the system later on. Assuch, the NMD acts as an interface with multiple voice services, perhapsalleviating a need to have an NMD from each of the voice services tointeract with the respective voice services. Yet further, the NMD canoperate in concert with service-specific NMDs present in a household toprocess a given voice command.

Where two or more voice services are configured for the NMD, aparticular voice service can be invoked by utterance of a wake wordcorresponding to the particular voice service. For instance, in queryingAMAZON, a user might speak the wake word “Alexa” followed by a voicecommand. Other examples include “Ok, Google” for querying GOOGLE and“Hey, Siri” for querying APPLE.

In some cases, a generic wake word can be used to indicate a voice inputto an NMD. In some cases, this is a manufacturer-specific wake wordrather than a wake word tied to any particular voice service (e.g.,“Hey, Sonos” where the NMD is a SONOS playback device). Given such awake word, the NMD can identify a particular voice service to processthe request. For instance, if the voice input following the wake word isrelated to a particular type of command (e.g., music playback), then thevoice input is sent to a particular voice service associated with thattype of command (e.g. a streaming music service having voice commandcapabilities).

In some instances, an environment may have multiple NMDs disposed invarious locations. For example, a user may have a first NMD in thekitchen, a second NMD in the living room, etc. Many voice interactionsinvolve extended interactions, for example multi-turn conversations witha VAS. As such, the interaction may span a user's movement from a firstposition adjacent to the first NMD to a second position adjacent to thesecond NMD. As a result, the first NMD may receive a lower volume and/orquality of detected sound from the user's speech as the user moves awayfrom the first NMD, and accordingly the VAS may have more difficultydiscerning the user's intent. Meanwhile, the second NMD may receivehigher volume and/or quality of detected sound from the user's speech asthe user moves closer to the second NMD. Yet if the VAS remains solelyin communication with the first NMD (e.g., receiving sound data from thefirst NMD, and providing responses to be output via the first NMD), themedia playback system may be unable to take advantage of the secondNMD's comparatively better sound data. In some cases, this can lead toabrupt interruptions or dropped conversations as the user moves aboutthe environment. Accordingly, it would be beneficial to enable a user tocontinue a seamless interaction with a VAS even when leaving thevicinity of one NMD and entering the vicinity of another NMD. As such,it can be useful to coordinate sound detection, data transmission, andresponse output between two or more NMDs in a shared or overlappingenvironment.

In some embodiments, for example, a user may speak a wake word and avoice utterance (e.g., a command) in the vicinity of multiple NMDs. Twoor more of the NMDs may detect sound based on the user's speech andidentify the wake word therein. Each of these NMDs may then transitionfrom an inactive state to an active state. In the inactive state, theNMD listens for a wake word in detected sound but does not transmit anydata based on the detected sound. Once transitioned to the active state,the NMD is readied to capture sound data corresponding to the detectedsound. In the active state, the NMD may continuously, periodically, oraperiodically transmit the sound data over a network interface, eitherover a local network (e.g., to other local devices) or over a wide areanetwork (e.g., to remote computing devices associated with a VAS). Insome embodiments, while multiple NMDs can be simultaneously capturingand transmitting sound data, only one of the NMDs is selected to outputresponses (e.g., providing a voice response from a VAS or other output).The particular NMD can be selected to provide output based on userlocation, such that the NMD nearest the user outputs the response. Asthe user moves about the environment, the selected NMD can be updated,such that different NMDs can output responses to the user as the user'slocation changes. In some embodiments, some or all of the NMDs cantransition from the active state back to the inactive state after apredetermined time, for example a predetermined period of time after thelast response output from that particular NMD. Accordingly, as describedin more detail below, multiple NMDs may coordinate responsibility forvoice control interactions to deliver an improved user experience.

While some embodiments described herein may refer to functions performedby given actors, such as “users” and/or other entities, it should beunderstood that this description is for purposes of explanation only.The claims should not be interpreted to require action by any suchexample actor unless explicitly required by the language of the claimsthemselves.

II. Example Operating Environment

FIGS. 1A and 1B illustrate an example configuration of a media playbacksystem 100 (or “MPS 100”) in which one or more embodiments disclosedherein may be implemented. Referring first to FIG. 1A, the MPS 100 asshown is associated with an example home environment having a pluralityof rooms and spaces, which may be collectively referred to as a “homeenvironment,” “smart home,” or “environment 101.” The environment 101comprises a household having several rooms, spaces, and/or playbackzones, including a master bathroom 101 a, a master bedroom 101 b(referred to herein as “Nick's Room”), a second bedroom 101 c, a familyroom or den 101 d, an office 101 e, a living room 101 f, a dining room101 g, a kitchen 101 h, and an outdoor patio 101 i. While certainembodiments and examples are described below in the context of a homeenvironment, the technologies described herein may be implemented inother types of environments. In some embodiments, for example, the MPS100 can be implemented in one or more commercial settings (e.g., arestaurant, mall, airport, hotel, a retail or other store), one or morevehicles (e.g., a sports utility vehicle, bus, car, a ship, a boat, anairplane), multiple environments (e.g., a combination of home andvehicle environments), and/or another suitable environment wheremulti-zone audio may be desirable.

Within these rooms and spaces, the MPS 100 includes one or morecomputing devices. Referring to FIGS. 1A and 1B together, such computingdevices can include playback devices 102 (identified individually asplayback devices 102 a-102 o), network microphone devices 103(identified individually as “NMDs” 103 a-102 i), and controller devices104 a and 104 b (collectively “controller devices 104”). Referring toFIG. 1B, the home environment may include additional and/or othercomputing devices, including local network devices, such as one or moresmart illumination devices 108 (FIG. 1B), a smart thermostat 110, and alocal computing device 105 (FIG. 1A). In embodiments described below,one or more of the various playback devices 102 may be configured asportable playback devices, while others may be configured as stationaryplayback devices. For example, the headphones 102 o (FIG. 1B) are aportable playback device, while the playback device 102 d on thebookcase may be a stationary device. As another example, the playbackdevice 102 c on the Patio may be a battery-powered device, which mayallow it to be transported to various areas within the environment 101,and outside of the environment 101, when it is not plugged in to a walloutlet or the like.

With reference still to FIG. 1B, the various playback, networkmicrophone, and controller devices 102-104 and/or other network devicesof the MPS 100 may be coupled to one another via point-to-pointconnections and/or over other connections, which may be wired and/orwireless, via a LAN 111 including a network router 109. For example, theplayback device 102 j in the Den 101 d (FIG. 1A), which may bedesignated as the “Left” device, may have a point-to-point connectionwith the playback device 102 a, which is also in the Den 101 d and maybe designated as the “Right” device. In a related embodiment, the Leftplayback device 102 j may communicate with other network devices, suchas the playback device 102 b, which may be designated as the “Front”device, via a point-to-point connection and/or other connections via theLAN 111.

As further shown in FIG. 1B, the MPS 100 may be coupled to one or moreremote computing devices 106 via a wide area network (“WAN”) 107. Insome embodiments, each remote computing device 106 may take the form ofone or more cloud servers. The remote computing devices 106 may beconfigured to interact with computing devices in the environment 101 invarious ways. For example, the remote computing devices 106 may beconfigured to facilitate streaming and/or controlling playback of mediacontent, such as audio, in the home environment 101.

In some implementations, the various playback devices, NMDs, and/orcontroller devices 102-104 may be communicatively coupled to at leastone remote computing device associated with a VAS and at least oneremote computing device associated with a media content service (“MCS”).For instance, in the illustrated example of FIG. 1B, remote computingdevices 106 a are associated with a VAS 190 and remote computing devices106 b are associated with an MCS 192. Although only a single VAS 190 anda single MCS 192 are shown in the example of FIG. 1B for purposes ofclarity, the MPS 100 may be coupled to multiple, different VASes and/orMCSes. In some implementations, VASes may be operated by one or more ofAMAZON, GOOGLE, APPLE, MICROSOFT, SONOS or other voice assistantproviders. In some implementations, MCSes may be operated by one or moreof SPOTIFY, PANDORA, AMAZON MUSIC, or other media content services.

As further shown in FIG. 1B, the remote computing devices 106 furtherinclude remote computing device 106 c configured to perform certainoperations, such as remotely facilitating media playback functions,managing device and system status information, directing communicationsbetween the devices of the MPS 100 and one or multiple VASes and/orMCSes, among other operations. In one example, the remote computingdevices 106 c provide cloud servers for one or more SONOS Wireless HiFiSystems.

In various implementations, one or more of the playback devices 102 maytake the form of or include an on-board (e.g., integrated) networkmicrophone device. For example, the playback devices 102 a-e include orare otherwise equipped with corresponding NMDs 103 a-e, respectively. Aplayback device that includes or is equipped with an NMD may be referredto herein interchangeably as a playback device or an NMD unlessindicated otherwise in the description. In some cases, one or more ofthe NMDs 103 may be a stand-alone device. For example, the NMDs 103 fand 103 g may be stand-alone devices. A stand-alone NMD may omitcomponents and/or functionality that is typically included in a playbackdevice, such as a speaker or related electronics. For instance, in suchcases, a stand-alone NMD may not produce audio output or may producelimited audio output (e.g., relatively low-quality audio output).

The various playback and network microphone devices 102 and 103 of theMPS 100 may each be associated with a unique name, which may be assignedto the respective devices by a user, such as during setup of one or moreof these devices. For instance, as shown in the illustrated example ofFIG. 1B, a user may assign the name “Bookcase” to playback device 102 dbecause it is physically situated on a bookcase. Similarly, the NMD 103f may be assigned the named “Island” because it is physically situatedon an island countertop in the Kitchen 101 h (FIG. 1A). Some playbackdevices may be assigned names according to a zone or room, such as theplayback devices 102 e, 102 l, 102 m, and 102 n, which are named“Bedroom,” “Dining Room,” “Living Room,” and “Office,” respectively.Further, certain playback devices may have functionally descriptivenames. For example, the playback devices 102 a and 102 b are assignedthe names “Right” and “Front,” respectively, because these two devicesare configured to provide specific audio channels during media playbackin the zone of the Den 101 d (FIG. 1A). The playback device 102 c in thePatio may be named portable because it is battery-powered and/or readilytransportable to different areas of the environment 101. Other namingconventions are possible.

As discussed above, an NMD may detect and process sound from itsenvironment, such as sound that includes background noise mixed withspeech spoken by a person in the NMD' s vicinity. For example, as soundsare detected by the NMD in the environment, the NMD may process thedetected sound to determine if the sound includes speech that containsvoice input intended for the NMD and ultimately a particular VAS. Forexample, the NMD may identify whether speech includes a wake wordassociated with a particular VAS.

In the illustrated example of FIG. 1B, the NMDs 103 are configured tointeract with the VAS 190 over a network via the LAN 111 and the router109. Interactions with the VAS 190 may be initiated, for example, whenan NMD identifies in the detected sound a potential wake word. Theidentification causes a wake-word event, which in turn causes the NMD tobegin transmitting detected-sound data to the VAS 190. In someimplementations, the various local network devices 102-105 (FIG. 1A)and/or remote computing devices 106 c of the MPS 100 may exchangevarious feedback, information, instructions, and/or related data withthe remote computing devices associated with the selected VAS. Suchexchanges may be related to or independent of transmitted messagescontaining voice inputs. In some embodiments, the remote computingdevice(s) and the media playback system 100 may exchange data viacommunication paths as described herein and/or using a metadata exchangechannel as described in U.S. application Ser. No. 15/438,749 filed Feb.21, 2017, and titled “Voice Control of a Media Playback System,” whichis herein incorporated by reference in its entirety.

Upon receiving the stream of sound data, the VAS 190 determines if thereis voice input in the streamed data from the NMD, and if so the VAS 190will also determine an underlying intent in the voice input. The VAS 190may next transmit a response back to the MPS 100, which can includetransmitting the response directly to the NMD that caused the wake-wordevent. The response is typically based on the intent that the VAS 190determined was present in the voice input. As an example, in response tothe VAS 190 receiving a voice input with an utterance to “Play Hey Judeby The Beatles,” the VAS 190 may determine that the underlying intent ofthe voice input is to initiate playback and further determine thatintent of the voice input is to play the particular song “Hey Jude.”After these determinations, the VAS 190 may transmit a command to aparticular MCS 192 to retrieve content (i.e., the song “Hey Jude”), andthat MCS 192, in turn, provides (e.g., streams) this content directly tothe MPS 100 or indirectly via the VAS 190. In some implementations, theVAS 190 may transmit to the MPS 100 a command that causes the MPS 100itself to retrieve the content from the MCS 192.

In certain implementations, NMDs may facilitate arbitration amongst oneanother when voice input is identified in speech detected by two or moreNMDs located within proximity of one another. For example, theNMD-equipped playback device 102 d in the environment 101 (FIG. 1A) isin relatively close proximity to the NMD-equipped Living Room playbackdevice 102 m, and both devices 102 d and 102 m may at least sometimesdetect the same sound. In such cases, this may require arbitration as towhich device is ultimately responsible for providing detected-sound datato the remote VAS. Examples of arbitrating between NMDs may be found,for example, in previously referenced U.S. application Ser. No.15/438,749.

In certain implementations, an NMD may be assigned to, or otherwiseassociated with, a designated or default playback device that may notinclude an NMD. For example, the Island NMD 103 f in the Kitchen 101 h(FIG. 1A) may be assigned to the Dining Room playback device 102 l,which is in relatively close proximity to the Island NMD 103 f. Inpractice, an NMD may direct an assigned playback device to play audio inresponse to a remote VAS receiving a voice input from the NMD to playthe audio, which the NMD might have sent to the VAS in response to auser speaking a command to play a certain song, album, playlist, etc.Additional details regarding assigning NMDs and playback devices asdesignated or default devices may be found, for example, in previouslyreferenced U.S. patent application Ser. No. 15/438,749.

Further aspects relating to the different components of the example MPS100 and how the different components may interact to provide a user witha media experience may be found in the following sections. Whilediscussions herein may generally refer to the example MPS 100,technologies described herein are not limited to applications within,among other things, the home environment described above. For instance,the technologies described herein may be useful in other homeenvironment configurations comprising more or fewer of any of theplayback, network microphone, and/or controller devices 102-104. Forexample, the technologies herein may be utilized within an environmenthaving a single playback device 102 and/or a single NMD 103. In someexamples of such cases, the LAN 111 (FIG. 1B) may be eliminated and thesingle playback device 102 and/or the single NMD 103 may communicatedirectly with the remote computing devices 106 a-d. In some embodiments,a telecommunication network (e.g., an LTE network, a 5G network, etc.)may communicate with the various playback, network microphone, and/orcontroller devices 102-104 independent of a LAN.

a. Example Playback & Network Microphone Devices

FIG. 2A is a functional block diagram illustrating certain aspects ofone of the playback devices 102 of the MPS 100 of FIGS. 1A and 1B. Asshown, the playback device 102 includes various components, each ofwhich is discussed in further detail below, and the various componentsof the playback device 102 may be operably coupled to one another via asystem bus, communication network, or some other connection mechanism.In the illustrated example of FIG. 2A, the playback device 102 may bereferred to as an “NMD-equipped” playback device because it includescomponents that support the functionality of an NMD, such as one of theNMDs 103 shown in FIG. 1A.

As shown, the playback device 102 includes at least one processor 212,which may be a clock-driven computing component configured to processinput data according to instructions stored in memory 213. The memory213 may be a tangible, non-transitory, computer-readable mediumconfigured to store instructions that are executable by the processor212. For example, the memory 213 may be data storage that can be loadedwith software code 214 that is executable by the processor 212 toachieve certain functions.

In one example, these functions may involve the playback device 102retrieving audio data from an audio source, which may be anotherplayback device. In another example, the functions may involve theplayback device 102 sending audio data, detected-sound data (e.g.,corresponding to a voice input), and/or other information to anotherdevice on a network via at least one network interface 224. In yetanother example, the functions may involve the playback device 102causing one or more other playback devices to synchronously playbackaudio with the playback device 102. In yet a further example, thefunctions may involve the playback device 102 facilitating being pairedor otherwise bonded with one or more other playback devices to create amulti-channel audio environment. Numerous other example functions arepossible, some of which are discussed below.

As just mentioned, certain functions may involve the playback device 102synchronizing playback of audio content with one or more other playbackdevices. During synchronous playback, a listener may not perceivetime-delay differences between playback of the audio content by thesynchronized playback devices. U.S. Pat. No. 8,234,395 filed on Apr. 4,2004, and titled “System and method for synchronizing operations among aplurality of independently clocked digital data processing devices,”which is hereby incorporated by reference in its entirety, provides inmore detail some examples for audio playback synchronization amongplayback devices.

To facilitate audio playback, the playback device 102 includes audioprocessing components 216 that are generally configured to process audioprior to the playback device 102 rendering the audio. In this respect,the audio processing components 216 may include one or moredigital-to-analog converters (“DAC”), one or more audio preprocessingcomponents, one or more audio enhancement components, one or moredigital signal processors (“DSPs”), and so on. In some implementations,one or more of the audio processing components 216 may be a subcomponentof the processor 212. In operation, the audio processing components 216receive analog and/or digital audio and process and/or otherwiseintentionally alter the audio to produce audio signals for playback.

The produced audio signals may then be provided to one or more audioamplifiers 217 for amplification and playback through one or morespeakers 218 operably coupled to the amplifiers 217. The audioamplifiers 217 may include components configured to amplify audiosignals to a level for driving one or more of the speakers 218.

Each of the speakers 218 may include an individual transducer (e.g., a“driver”) or the speakers 218 may include a complete speaker systeminvolving an enclosure with one or more drivers. A particular driver ofa speaker 218 may include, for example, a subwoofer (e.g., for lowfrequencies), a mid-range driver (e.g., for middle frequencies), and/ora tweeter (e.g., for high frequencies). In some cases, a transducer maybe driven by an individual corresponding audio amplifier of the audioamplifiers 217. In some implementations, a playback device may notinclude the speakers 218, but instead may include a speaker interfacefor connecting the playback device to external speakers. In certainembodiments, a playback device may include neither the speakers 218 northe audio amplifiers 217, but instead may include an audio interface(not shown) for connecting the playback device to an external audioamplifier or audio-visual receiver.

In addition to producing audio signals for playback by the playbackdevice 102, the audio processing components 216 may be configured toprocess audio to be sent to one or more other playback devices, via thenetwork interface 224, for playback. In example scenarios, audio contentto be processed and/or played back by the playback device 102 may bereceived from an external source, such as via an audio line-in interface(e.g., an auto-detecting 3.5 mm audio line-in connection) of theplayback device 102 (not shown) or via the network interface 224, asdescribed below.

As shown, the at least one network interface 224, may take the form ofone or more wireless interfaces 225 and/or one or more wired interfaces226. A wireless interface may provide network interface functions forthe playback device 102 to wirelessly communicate with other devices(e.g., other playback device(s), NMD(s), and/or controller device(s)) inaccordance with a communication protocol (e.g., any wireless standardincluding IEEE 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, 802.15, 4Gmobile communication standard, and so on). A wired interface may providenetwork interface functions for the playback device 102 to communicateover a wired connection with other devices in accordance with acommunication protocol (e.g., IEEE 802.3). While the network interface224 shown in FIG. 2A include both wired and wireless interfaces, theplayback device 102 may in some implementations include only wirelessinterface(s) or only wired interface(s).

In general, the network interface 224 facilitates data flow between theplayback device 102 and one or more other devices on a data network. Forinstance, the playback device 102 may be configured to receive audiocontent over the data network from one or more other playback devices,network devices within a LAN, and/or audio content sources over a WAN,such as the Internet. In one example, the audio content and othersignals transmitted and received by the playback device 102 may betransmitted in the form of digital packet data comprising an InternetProtocol (IP)-based source address and IP-based destination addresses.In such a case, the network interface 224 may be configured to parse thedigital packet data such that the data destined for the playback device102 is properly received and processed by the playback device 102.

As shown in FIG. 2A, the playback device 102 also includes voiceprocessing components 220 that are operably coupled to one or moremicrophones 222. The microphones 222 are configured to detect sound(i.e., acoustic waves) in the environment of the playback device 102,which is then provided to the voice processing components 220. Morespecifically, each microphone 222 is configured to detect sound andconvert the sound into a digital or analog signal representative of thedetected sound, which can then cause the voice processing component 220to perform various functions based on the detected sound, as describedin greater detail below. In one implementation, the microphones 222 arearranged as an array of microphones (e.g., an array of six microphones).In some implementations, the playback device 102 includes more than sixmicrophones (e.g., eight microphones or twelve microphones) or fewerthan six microphones (e.g., four microphones, two microphones, or asingle microphones).

In operation, the voice-processing components 220 are generallyconfigured to detect and process sound received via the microphones 222,identify potential voice input in the detected sound, and extractdetected-sound data to enable a VAS, such as the VAS 190 (FIG. 1B), toprocess voice input identified in the detected-sound data. The voiceprocessing components 220 may include one or more analog-to-digitalconverters, an acoustic echo canceller (“AEC”), a spatial processor(e.g., one or more multi-channel Wiener filters, one or more otherfilters, and/or one or more beam former components), one or more buffers(e.g., one or more circular buffers), one or more wake-word engines, oneor more voice extractors, and/or one or more speech processingcomponents (e.g., components configured to recognize a voice of aparticular user or a particular set of users associated with ahousehold), among other example voice processing components. In exampleimplementations, the voice processing components 220 may include orotherwise take the form of one or more DSPs or one or more modules of aDSP. In this respect, certain voice processing components 220 may beconfigured with particular parameters (e.g., gain and/or spectralparameters) that may be modified or otherwise tuned to achieveparticular functions. In some implementations, one or more of the voiceprocessing components 220 may be a subcomponent of the processor 212.

In some implementations, the voice-processing components 220 may detectand store a user's voice profile, which may be associated with a useraccount of the MPS 100. For example, voice profiles may be stored asand/or compared to variables stored in a set of command information ordata table. The voice profile may include aspects of the tone orfrequency of a user's voice and/or other unique aspects of the user'svoice, such as those described in previously-referenced U.S. patentapplication Ser. No. 15/438,749.

As further shown in FIG. 2A, the playback device 102 also includes powercomponents 227. The power components 227 include at least an externalpower source interface 228, which may be coupled to a power source (notshown) via a power cable or the like that physically connects theplayback device 102 to an electrical outlet or some other external powersource. Other power components may include, for example, transformers,converters, and like components configured to format electrical power.

In some implementations, the power components 227 of the playback device102 may additionally include an internal power source 229 (e.g., one ormore batteries) configured to power the playback device 102 without aphysical connection to an external power source. When equipped with theinternal power source 229, the playback device 102 may operateindependent of an external power source. In some such implementations,the external power source interface 228 may be configured to facilitatecharging the internal power source 229. As discussed before, a playbackdevice comprising an internal power source may be referred to herein asa “portable playback device.” On the other hand, a playback device thatoperates using an external power source may be referred to herein as a“stationary playback device,” although such a device may in fact bemoved around a home or other environment.

The playback device 102 further includes a user interface 240 that mayfacilitate user interactions independent of or in conjunction with userinteractions facilitated by one or more of the controller devices 104.In various embodiments, the user interface 240 includes one or morephysical buttons and/or supports graphical interfaces provided on touchsensitive screen(s) and/or surface(s), among other possibilities, for auser to directly provide input. The user interface 240 may furtherinclude one or more of lights (e.g., LEDs) and the speakers to providevisual and/or audio feedback to a user.

As an illustrative example, FIG. 2B shows an example housing 230 of theplayback device 102 that includes a user interface in the form of acontrol area 232 at a top portion 234 of the housing 230. The controlarea 232 includes buttons 236 a-c for controlling audio playback, volumelevel, and other functions. The control area 232 also includes a button236 d for toggling the microphones 222 to either an on state or an offstate.

As further shown in FIG. 2B, the control area 232 is at least partiallysurrounded by apertures formed in the top portion 234 of the housing 230through which the microphones 222 (not visible in FIG. 2B) receive thesound in the environment of the playback device 102. The microphones 222may be arranged in various positions along and/or within the top portion234 or other areas of the housing 230 so as to detect sound from one ormore directions relative to the playback device 102.

By way of illustration, SONOS, Inc. presently offers (or has offered)for sale certain playback devices that may implement certain of theembodiments disclosed herein, including a “PLAY:1,” “PLAY:3,” “PLAY:5,”“PLAYBAR,” “CONNECT:AMP,” “PLAYBASE,” “BEAM,” “CONNECT,” and “SUB.” Anyother past, present, and/or future playback devices may additionally oralternatively be used to implement the playback devices of exampleembodiments disclosed herein. Additionally, it should be understood thata playback device is not limited to the examples illustrated in FIGS. 2Aor 2B or to the SONOS product offerings. For example, a playback devicemay include, or otherwise take the form of, a wired or wirelessheadphone set, which may operate as a part of the media playback system100 via a network interface or the like. In another example, a playbackdevice may include or interact with a docking station for personalmobile media playback devices. In yet another example, a playback devicemay be integral to another device or component such as a television, alighting fixture, or some other device for indoor or outdoor use.

b. Example Playback Device Configurations

FIGS. 3A-3E show example configurations of playback devices. Referringfirst to FIG. 3A, in some example instances, a single playback devicemay belong to a zone. For example, the playback device 102 c (FIG. 1A)on the Patio may belong to Zone A. In some implementations describedbelow, multiple playback devices may be “bonded” to form a “bondedpair,” which together form a single zone. For example, the playbackdevice 102 f (FIG. 1A) named “Bed 1” in FIG. 3A may be bonded to theplayback device 102 g (FIG. 1A) named “Bed 2” in FIG. 3A to form Zone B.Bonded playback devices may have different playback responsibilities(e.g., channel responsibilities). In another implementation describedbelow, multiple playback devices may be merged to form a single zone.For example, the playback device 102 d named “Bookcase” may be mergedwith the playback device 102 m named “Living Room” to form a single ZoneC. The merged playback devices 102 d and 102 m may not be specificallyassigned different playback responsibilities. That is, the mergedplayback devices 102 d and 102 m may, aside from playing audio contentin synchrony, each play audio content as they would if they were notmerged.

For purposes of control, each zone in the MPS 100 may be represented asa single user interface (“UI”) entity. For example, as displayed by thecontroller devices 104, Zone A may be provided as a single entity named“Portable,” Zone B may be provided as a single entity named “Stereo,”and Zone C may be provided as a single entity named “Living Room.”

In various embodiments, a zone may take on the name of one of theplayback devices belonging to the zone. For example, Zone C may take onthe name of the Living Room device 102 m (as shown). In another example,Zone C may instead take on the name of the Bookcase device 102 d. In afurther example, Zone C may take on a name that is some combination ofthe Bookcase device 102 d and Living Room device 102 m. The name that ischosen may be selected by a user via inputs at a controller device 104.In some embodiments, a zone may be given a name that is different thanthe device(s) belonging to the zone. For example, Zone B in FIG. 3A isnamed “Stereo” but none of the devices in Zone B have this name. In oneaspect, Zone B is a single UI entity representing a single device named“Stereo,” composed of constituent devices “Bed 1” and “Bed 2.” In oneimplementation, the Bed 1 device may be playback device 102 f in themaster bedroom 101 h (FIG. 1A) and the Bed 2 device may be the playbackdevice 102 g also in the master bedroom 101 h (FIG. 1A).

As noted above, playback devices that are bonded may have differentplayback responsibilities, such as playback responsibilities for certainaudio channels. For example, as shown in FIG. 3B, the Bed 1 and Bed 2devices 102 f and 102 g may be bonded so as to produce or enhance astereo effect of audio content. In this example, the Bed 1 playbackdevice 102 f may be configured to play a left channel audio component,while the Bed 2 playback device 102 g may be configured to play a rightchannel audio component. In some implementations, such stereo bondingmay be referred to as “pairing.”

Additionally, playback devices that are configured to be bonded may haveadditional and/or different respective speaker drivers. As shown in FIG.3C, the playback device 102 b named “Front” may be bonded with theplayback device 102 k named “SUB.” The Front device 102 b may render arange of mid to high frequencies, and the SUB device 102 k may renderlow frequencies as, for example, a subwoofer. When unbonded, the Frontdevice 102 b may be configured to render a full range of frequencies. Asanother example, FIG. 3D shows the Front and SUB devices 102 b and 102 kfurther bonded with Right and Left playback devices 102 a and 102 j,respectively. In some implementations, the Right and Left devices 102 aand 102 j may form surround or “satellite” channels of a home theatersystem. The bonded playback devices 102 a, 102 b, 102 j, and 102 k mayform a single Zone D (FIG. 3A).

In some implementations, playback devices may also be “merged.” Incontrast to certain bonded playback devices, playback devices that aremerged may not have assigned playback responsibilities, but may eachrender the full range of audio content that each respective playbackdevice is capable of. Nevertheless, merged devices may be represented asa single UI entity (i.e., a zone, as discussed above). For instance,FIG. 3E shows the playback devices 102 d and 102 m in the Living Roommerged, which would result in these devices being represented by thesingle UI entity of Zone C. In one embodiment, the playback devices 102d and 102 m may playback audio in synchrony, during which each outputsthe full range of audio content that each respective playback device 102d and 102 m is capable of rendering.

In some embodiments, a stand-alone NMD may be in a zone by itself. Forexample, the NMD 103 h from FIG. 1A is named “Closet” and forms Zone Iin FIG. 3A. An NMD may also be bonded or merged with another device soas to form a zone. For example, the NMD device 103 f named “Island” maybe bonded with the playback device 102 i Kitchen, which together formZone F, which is also named “Kitchen.” Additional details regardingassigning NMDs and playback devices as designated or default devices maybe found, for example, in previously referenced U.S. patent applicationSer. No. 15/438,749. In some embodiments, a stand-alone NMD may not beassigned to a zone.

Zones of individual, bonded, and/or merged devices may be arranged toform a set of playback devices that playback audio in synchrony. Such aset of playback devices may be referred to as a “group,” “zone group,”“synchrony group,” or “playback group.” In response to inputs providedvia a controller device 104, playback devices may be dynamically groupedand ungrouped to form new or different groups that synchronously playback audio content. For example, referring to FIG. 3A, Zone A may begrouped with Zone B to form a zone group that includes the playbackdevices of the two zones. As another example, Zone A may be grouped withone or more other Zones C-I. The Zones A-I may be grouped and ungroupedin numerous ways. For example, three, four, five, or more (e.g., all) ofthe Zones A-I may be grouped. When grouped, the zones of individualand/or bonded playback devices may play back audio in synchrony with oneanother, as described in previously referenced U.S. Pat. No. 8,234,395.Grouped and bonded devices are example types of associations betweenportable and stationary playback devices that may be caused in responseto a trigger event, as discussed above and described in greater detailbelow.

In various implementations, the zones in an environment may be assigneda particular name, which may be the default name of a zone within a zonegroup or a combination of the names of the zones within a zone group,such as “Dining Room+Kitchen,” as shown in FIG. 3A. In some embodiments,a zone group may be given a unique name selected by a user, such as“Nick's Room,” as also shown in FIG. 3A. The name “Nick's Room” may be aname chosen by a user over a prior name for the zone group, such as theroom name “Master Bedroom.”

Referring back to FIG. 2A, certain data may be stored in the memory 213as one or more state variables that are periodically updated and used todescribe the state of a playback zone, the playback device(s), and/or azone group associated therewith. The memory 213 may also include thedata associated with the state of the other devices of the mediaplayback system 100, which may be shared from time to time among thedevices so that one or more of the devices have the most recent dataassociated with the system.

In some embodiments, the memory 213 of the playback device 102 may storeinstances of various variable types associated with the states.Variables instances may be stored with identifiers (e.g., tags)corresponding to type. For example, certain identifiers may be a firsttype “a1” to identify playback device(s) of a zone, a second type “b1”to identify playback device(s) that may be bonded in the zone, and athird type “c1” to identify a zone group to which the zone may belong.As a related example, in FIG. 1A, identifiers associated with the Patiomay indicate that the Patio is the only playback device of a particularzone and not in a zone group. Identifiers associated with the LivingRoom may indicate that the Living Room is not grouped with other zonesbut includes bonded playback devices 102 a, 102 b, 102 j, and 102 k.Identifiers associated with the Dining Room may indicate that the DiningRoom is part of Dining Room+Kitchen group and that devices 103 f and 102i are bonded. Identifiers associated with the Kitchen may indicate thesame or similar information by virtue of the Kitchen being part of theDining Room+Kitchen zone group. Other example zone variables andidentifiers are described below.

In yet another example, the MPS 100 may include variables or identifiersrepresenting other associations of zones and zone groups, such asidentifiers associated with Areas, as shown in FIG. 3A. An Area mayinvolve a cluster of zone groups and/or zones not within a zone group.For instance, FIG. 3A shows a first area named “First Area” and a secondarea named “Second Area.” The First Area includes zones and zone groupsof the Patio, Den, Dining Room, Kitchen, and Bathroom. The Second Areaincludes zones and zone groups of the Bathroom, Nick's Room, Bedroom,and Living Room. In one aspect, an Area may be used to invoke a clusterof zone groups and/or zones that share one or more zones and/or zonegroups of another cluster. In this respect, such an Area differs from azone group, which does not share a zone with another zone group. Furtherexamples of techniques for implementing Areas may be found, for example,in U.S. application Ser. No. 15/682,506 filed Aug. 21, 2017 and titled“Room Association Based on Name,” and U.S. Pat. No. 8,483,853 filed Sep.11, 2007, and titled “Controlling and manipulating groupings in amulti-zone media system.” Each of these applications is incorporatedherein by reference in its entirety. In some embodiments, the MPS 100may not implement Areas, in which case the system may not storevariables associated with Areas.

The memory 213 may be further configured to store other data. Such datamay pertain to audio sources accessible by the playback device 102 or aplayback queue that the playback device (or some other playbackdevice(s)) may be associated with. In embodiments described below, thememory 213 is configured to store a set of command data for selecting aparticular VAS when processing voice inputs.

During operation, one or more playback zones in the environment of FIG.1A may each be playing different audio content. For instance, the usermay be grilling in the Patio zone and listening to hip hop music beingplayed by the playback device 102 c, while another user may be preparingfood in the Kitchen zone and listening to classical music being playedby the playback device 102 i. In another example, a playback zone mayplay the same audio content in synchrony with another playback zone. Forinstance, the user may be in the Office zone where the playback device102 n is playing the same hip-hop music that is being playing byplayback device 102 c in the Patio zone. In such a case, playbackdevices 102 c and 102 n may be playing the hip-hop in synchrony suchthat the user may seamlessly (or at least substantially seamlessly)enjoy the audio content that is being played out-loud while movingbetween different playback zones. Synchronization among playback zonesmay be achieved in a manner similar to that of synchronization amongplayback devices, as described in previously referenced U.S. Pat. No.8,234,395.

As suggested above, the zone configurations of the MPS 100 may bedynamically modified. As such, the MPS 100 may support numerousconfigurations. For example, if a user physically moves one or moreplayback devices to or from a zone, the MPS 100 may be reconfigured toaccommodate the change(s). For instance, if the user physically movesthe playback device 102 c from the Patio zone to the Office zone, theOffice zone may now include both the playback devices 102 c and 102 n.In some cases, the user may pair or group the moved playback device 102c with the Office zone and/or rename the players in the Office zoneusing, for example, one of the controller devices 104 and/or voiceinput. As another example, if one or more playback devices 102 are movedto a particular space in the home environment that is not already aplayback zone, the moved playback device(s) may be renamed or associatedwith a playback zone for the particular space.

Further, different playback zones of the MPS 100 may be dynamicallycombined into zone groups or split up into individual playback zones.For example, the Dining Room zone and the Kitchen zone may be combinedinto a zone group for a dinner party such that playback devices 102 iand 102 l may render audio content in synchrony. As another example,bonded playback devices in the Den zone may be split into (i) atelevision zone and (ii) a separate listening zone. The television zonemay include the Front playback device 102 b. The listening zone mayinclude the Right, Left, and SUB playback devices 102 a, 102 j, and 102k, which may be grouped, paired, or merged, as described above.Splitting the Den zone in such a manner may allow one user to listen tomusic in the listening zone in one area of the living room space, andanother user to watch the television in another area of the living roomspace. In a related example, a user may utilize either of the NMD 103 aor 103 b (FIG. 1B) to control the Den zone before it is separated intothe television zone and the listening zone. Once separated, thelistening zone may be controlled, for example, by a user in the vicinityof the NMD 103 a, and the television zone may be controlled, forexample, by a user in the vicinity of the NMD 103 b. As described above,however, any of the NMDs 103 may be configured to control the variousplayback and other devices of the MPS 100.

c. Example Controller Devices

FIG. 4A is a functional block diagram illustrating certain aspects of aselected one of the controller devices 104 of the MPS 100 of FIG. 1A.Such controller devices may also be referred to herein as a “controldevice” or “controller.” The controller device shown in FIG. 4A mayinclude components that are generally similar to certain components ofthe network devices described above, such as a processor 412, memory 413storing program software 414, at least one network interface 424, andone or more microphones 422. In one example, a controller device may bea dedicated controller for the MPS 100. In another example, a controllerdevice may be a network device on which media playback system controllerapplication software may be installed, such as for example, an iPhone™,iPad™ or any other smart phone, tablet, or network device (e.g., anetworked computer such as a PC or Mac™).

The memory 413 of the controller device 104 may be configured to storecontroller application software and other data associated with the MPS100 and/or a user of the system 100. The memory 413 may be loaded withinstructions in software 414 that are executable by the processor 412 toachieve certain functions, such as facilitating user access, control,and/or configuration of the MPS 100. The controller device 104 isconfigured to communicate with other network devices via the networkinterface 424, which may take the form of a wireless interface, asdescribed above.

In one example, system information (e.g., such as a state variable) maybe communicated between the controller device 104 and other devices viathe network interface 424. For instance, the controller device 104 mayreceive playback zone and zone group configurations in the MPS 100 froma playback device, an NMD, or another network device. Likewise, thecontroller device 104 may transmit such system information to a playbackdevice or another network device via the network interface 424. In somecases, the other network device may be another controller device.

The controller device 104 may also communicate playback device controlcommands, such as volume control and audio playback control, to aplayback device via the network interface 424. As suggested above,changes to configurations of the MPS 100 may also be performed by a userusing the controller device 104. The configuration changes may includeadding/removing one or more playback devices to/from a zone,adding/removing one or more zones to/from a zone group, forming a bondedor merged player, separating one or more playback devices from a bondedor merged player, among others.

As shown in FIG. 4A, the controller device 104 also includes a userinterface 440 that is generally configured to facilitate user access andcontrol of the MPS 100. The user interface 440 may include atouch-screen display or other physical interface configured to providevarious graphical controller interfaces, such as the controllerinterfaces 440 a and 440 b shown in FIGS. 4B and 4C. Referring to FIGS.4B and 4C together, the controller interfaces 440 a and 440 b includes aplayback control region 442, a playback zone region 443, a playbackstatus region 444, a playback queue region 446, and a sources region448. The user interface as shown is just one example of an interfacethat may be provided on a network device, such as the controller deviceshown in FIG. 4A, and accessed by users to control a media playbacksystem, such as the MPS 100. Other user interfaces of varying formats,styles, and interactive sequences may alternatively be implemented onone or more network devices to provide comparable control access to amedia playback system.

The playback control region 442 (FIG. 4B) may include selectable icons(e.g., by way of touch or by using a cursor) that, when selected, causeplayback devices in a selected playback zone or zone group to play orpause, fast forward, rewind, skip to next, skip to previous, enter/exitshuffle mode, enter/exit repeat mode, enter/exit cross fade mode, etc.The playback control region 442 may also include selectable icons that,when selected, modify equalization settings and/or playback volume,among other possibilities.

The playback zone region 443 (FIG. 4C) may include representations ofplayback zones within the MPS 100. The playback zones regions 443 mayalso include a representation of zone groups, such as the DiningRoom+Kitchen zone group, as shown. In some embodiments, the graphicalrepresentations of playback zones may be selectable to bring upadditional selectable icons to manage or configure the playback zones inthe MPS 100, such as a creation of bonded zones, creation of zonegroups, separation of zone groups, and renaming of zone groups, amongother possibilities.

For example, as shown, a “group” icon may be provided within each of thegraphical representations of playback zones. The “group” icon providedwithin a graphical representation of a particular zone may be selectableto bring up options to select one or more other zones in the MPS 100 tobe grouped with the particular zone. Once grouped, playback devices inthe zones that have been grouped with the particular zone will beconfigured to play audio content in synchrony with the playbackdevice(s) in the particular zone. Analogously, a “group” icon may beprovided within a graphical representation of a zone group. In thiscase, the “group” icon may be selectable to bring up options to deselectone or more zones in the zone group to be removed from the zone group.Other interactions and implementations for grouping and ungrouping zonesvia a user interface are also possible. The representations of playbackzones in the playback zone region 443 (FIG. 4C) may be dynamicallyupdated as playback zone or zone group configurations are modified.

The playback status region 444 (FIG. 4B) may include graphicalrepresentations of audio content that is presently being played,previously played, or scheduled to play next in the selected playbackzone or zone group. The selected playback zone or zone group may bevisually distinguished on a controller interface, such as within theplayback zone region 443 and/or the playback status region 444. Thegraphical representations may include track title, artist name, albumname, album year, track length, and/or other relevant information thatmay be useful for the user to know when controlling the MPS 100 via acontroller interface.

The playback queue region 446 may include graphical representations ofaudio content in a playback queue associated with the selected playbackzone or zone group. In some embodiments, each playback zone or zonegroup may be associated with a playback queue comprising informationcorresponding to zero or more audio items for playback by the playbackzone or zone group. For instance, each audio item in the playback queuemay comprise a uniform resource identifier (URI), a uniform resourcelocator (URL), or some other identifier that may be used by a playbackdevice in the playback zone or zone group to find and/or retrieve theaudio item from a local audio content source or a networked audiocontent source, which may then be played back by the playback device.

In one example, a playlist may be added to a playback queue, in whichcase information corresponding to each audio item in the playlist may beadded to the playback queue. In another example, audio items in aplayback queue may be saved as a playlist. In a further example, aplayback queue may be empty, or populated but “not in use” when theplayback zone or zone group is playing continuously streamed audiocontent, such as Internet radio that may continue to play untilotherwise stopped, rather than discrete audio items that have playbackdurations. In an alternative embodiment, a playback queue can includeInternet radio and/or other streaming audio content items and be “inuse” when the playback zone or zone group is playing those items. Otherexamples are also possible.

When playback zones or zone groups are “grouped” or “ungrouped,”playback queues associated with the affected playback zones or zonegroups may be cleared or re-associated. For example, if a first playbackzone including a first playback queue is grouped with a second playbackzone including a second playback queue, the established zone group mayhave an associated playback queue that is initially empty, that containsaudio items from the first playback queue (such as if the secondplayback zone was added to the first playback zone), that contains audioitems from the second playback queue (such as if the first playback zonewas added to the second playback zone), or a combination of audio itemsfrom both the first and second playback queues. Subsequently, if theestablished zone group is ungrouped, the resulting first playback zonemay be re-associated with the previous first playback queue or may beassociated with a new playback queue that is empty or contains audioitems from the playback queue associated with the established zone groupbefore the established zone group was ungrouped. Similarly, theresulting second playback zone may be re-associated with the previoussecond playback queue or may be associated with a new playback queuethat is empty or contains audio items from the playback queue associatedwith the established zone group before the established zone group wasungrouped. Other examples are also possible.

With reference still to FIGS. 4B and 4C, the graphical representationsof audio content in the playback queue region 446 (FIG. 4B) may includetrack titles, artist names, track lengths, and/or other relevantinformation associated with the audio content in the playback queue. Inone example, graphical representations of audio content may beselectable to bring up additional selectable icons to manage and/ormanipulate the playback queue and/or audio content represented in theplayback queue. For instance, a represented audio content may be removedfrom the playback queue, moved to a different position within theplayback queue, or selected to be played immediately, or after anycurrently playing audio content, among other possibilities. A playbackqueue associated with a playback zone or zone group may be stored in amemory on one or more playback devices in the playback zone or zonegroup, on a playback device that is not in the playback zone or zonegroup, and/or some other designated device. Playback of such a playbackqueue may involve one or more playback devices playing back media itemsof the queue, perhaps in sequential or random order.

The sources region 448 may include graphical representations ofselectable audio content sources and/or selectable voice assistantsassociated with a corresponding VAS. The VASes may be selectivelyassigned. In some examples, multiple VASes, such as AMAZON's Alexa,MICROSOFT' s Cortana, etc., may be invokable by the same NMD. In someembodiments, a user may assign a VAS exclusively to one or more NMDs.For example, a user may assign a first VAS to one or both of the NMDs102 a and 102 b in the Living Room shown in FIG. 1A, and a second VAS tothe NMD 103 f in the Kitchen. Other examples are possible.

d. Example Audio Content Sources

The audio sources in the sources region 448 may be audio content sourcesfrom which audio content may be retrieved and played by the selectedplayback zone or zone group. One or more playback devices in a zone orzone group may be configured to retrieve for playback audio content(e.g., according to a corresponding URI or URL for the audio content)from a variety of available audio content sources. In one example, audiocontent may be retrieved by a playback device directly from acorresponding audio content source (e.g., via a line-in connection). Inanother example, audio content may be provided to a playback device overa network via one or more other playback devices or network devices. Asdescribed in greater detail below, in some embodiments audio content maybe provided by one or more media content services.

Example audio content sources may include a memory of one or moreplayback devices in a media playback system such as the MPS 100 of FIG.1 , local music libraries on one or more network devices (e.g., acontroller device, a network-enabled personal computer, or anetworked-attached storage (“NAS”)), streaming audio services providingaudio content via the Internet (e.g., cloud-based music services), oraudio sources connected to the media playback system via a line-in inputconnection on a playback device or network device, among otherpossibilities.

In some embodiments, audio content sources may be added or removed froma media playback system such as the MPS 100 of FIG. 1A. In one example,an indexing of audio items may be performed whenever one or more audiocontent sources are added, removed, or updated. Indexing of audio itemsmay involve scanning for identifiable audio items in allfolders/directories shared over a network accessible by playback devicesin the media playback system and generating or updating an audio contentdatabase comprising metadata (e.g., title, artist, album, track length,among others) and other associated information, such as a URI or URL foreach identifiable audio item found. Other examples for managing andmaintaining audio content sources may also be possible.

e. Example Network Microphone Devices

FIG. 5 is a functional block diagram showing an NMD 503 configured inaccordance with embodiments of the disclosure. The NMD 503 includesvoice capture components (“VCC”, or collectively “voice processor560”),a wake-word engine 570, and at least one voice extractor 572, each ofwhich is operably coupled to the voice processor 560. The NMD 503further includes the microphones 222 and the at least one networkinterface 224 described above and may also include other components,such as audio amplifiers, interface, etc., which are not shown in FIG. 5for purposes of clarity.

The microphones 222 of the NMD 503 are configured to provide detectedsound, S_(D), from the environment of the NMD 503 to the voice processor560. The detected sound S_(D) may take the form of one or more analog ordigital signals. In example implementations, the detected sound S_(D)may be composed of a plurality signals associated with respectivechannels 562 that are fed to the voice processor 560.

Each channel 562 may correspond to a particular microphone 222. Forexample, an NMD having six microphones may have six correspondingchannels. Each channel of the detected sound S_(D) may bear certainsimilarities to the other channels but may differ in certain regards,which may be due to the position of the given channel's correspondingmicrophone relative to the microphones of other channels. For example,one or more of the channels of the detected sound S_(D) may have agreater signal to noise ratio (“SNR”) of speech to background noise thanother channels.

As further shown in FIG. 5 , the voice processor 560 includes an AEC564, a spatial processor 566, and one or more buffers 568. In operation,the AEC 564 receives the detected sound S_(D) and filters or otherwiseprocesses the sound to suppress echoes and/or to otherwise improve thequality of the detected sound S_(D). That processed sound may then bepassed to the spatial processor 566.

The spatial processor 566 is typically configured to analyze thedetected sound S_(D) and identify certain characteristics, such as asound's amplitude (e.g., decibel level), frequency spectrum,directionality, etc. In one respect, the spatial processor 566 may helpfilter or suppress ambient noise in the detected sound S_(D) frompotential user speech based on similarities and differences in theconstituent channels 562 of the detected sound S_(D), as discussedabove. As one possibility, the spatial processor 566 may monitor metricsthat distinguish speech from other sounds. Such metrics can include, forexample, energy within the speech band relative to background noise andentropy within the speech band—a measure of spectral structure—which istypically lower in speech than in most common background noise. In someimplementations, the spatial processor 566 may be configured todetermine a speech presence probability, examples of such functionalityare disclosed in U.S. patent application Ser. No. 15/984,073, filed May18, 2018, titled “Linear Filtering for Noise-Suppressed SpeechDetection,” and U.S. patent application Ser. No. 16/147,710, filed Sep.29, 2018, and titled “Linear Filtering for Noise-Suppressed SpeechDetection via Multiple Network Microphone Devices,” each of which isincorporated herein by reference in its entirety.

The wake-word engine 570 is configured to monitor and analyze receivedaudio to determine if any wake words are present in the audio. Thewake-word engine 570 may analyze the received audio using a wake worddetection algorithm. If the wake-word engine 570 detects a wake word, anetwork microphone device may process voice input contained in thereceived audio. Example wake word detection algorithms accept audio asinput and provide an indication of whether a wake word is present in theaudio. Many first- and third-party wake word detection algorithms areknown and commercially available. For instance, operators of a voiceservice may make their algorithm available for use in third-partydevices. Alternatively, an algorithm may be trained to detect certainwake-words.

In some embodiments, the wake-word engine 570 runs multiple wake worddetection algorithms on the received audio simultaneously (orsubstantially simultaneously). As noted above, different voice services(e.g. AMAZON's Alexa®, APPLE's MICROSOFT's Cortana®, GOOGLE'S Assistant,etc.) each use a different wake word for invoking their respective voiceservice. To support multiple services, the wake-word engine 570 may runthe received audio through the wake word detection algorithm for eachsupported voice service in parallel. In such embodiments, the networkmicrophone device 103 may include VAS selector components 574 configuredto pass voice input to the appropriate voice assistant service. In otherembodiments, the VAS selector components 574 may be omitted. In someembodiments, individual NMDs 103 of the MPS 100 may be configured to rundifferent wake word detection algorithms associated with particularVASes. For example, the NMDs of playback devices 102 a and 102 b of theLiving Room may be associated with AMAZON' s ALEXA®, and be configuredto run a corresponding wake word detection algorithm (e.g., configuredto detect the wake word “Alexa” or other associated wake word), whilethe NMD of playback device 102 f in the Kitchen may be associated withGOOGLE' s Assistant, and be configured to run a corresponding wake worddetection algorithm (e.g., configured to detect the wake word “OK,Google” or other associated wake word).

In some embodiments, a network microphone device may include speechprocessing components configured to further facilitate voice processing,such as by performing voice recognition trained to recognize aparticular user or a particular set of users associated with ahousehold. Voice recognition software may implement voice-processingalgorithms that are tuned to specific voice profile(s).

In operation, the one or more buffers 568—one or more of which may bepart of or separate from the memory 213 (FIG. 2A)—capture datacorresponding to the detected sound S_(D). More specifically, the one ormore buffers 568 capture detected-sound data that was processed by theupstream AEC 564 and spatial processor 566.

In general, the detected-sound data form a digital representation (i.e.,sound-data stream), S_(DS), of the sound detected by the microphones222. In practice, the sound-data stream S_(DS) may take a variety offorms. As one possibility, the sound-data stream S_(DS) may be composedof frames, each of which may include one or more sound samples. Theframes may be streamed (i.e., read out) from the one or more buffers 568for further processing by downstream components, such as the wake-wordengine 570 and the voice extractor 572 of the NMD 503.

In some implementations, at least one buffer 568 captures detected-sounddata utilizing a sliding window approach in which a given amount (i.e.,a given window) of the most recently captured detected-sound data isretained in the at least one buffer 568 while older detected-sound dataare overwritten when they fall outside of the window. For example, atleast one buffer 568 may temporarily retain 20 frames of a soundspecimen at given time, discard the oldest frame after an expirationtime, and then capture a new frame, which is added to the 19 priorframes of the sound specimen.

In practice, when the sound-data stream S_(DS) is composed of frames,the frames may take a variety of forms having a variety ofcharacteristics. As one possibility, the frames may take the form ofaudio frames that have a certain resolution (e.g., 16 bits ofresolution), which may be based on a sampling rate (e.g., 44,100 Hz).Additionally, or alternatively, the frames may include informationcorresponding to a given sound specimen that the frames define, such asmetadata that indicates frequency response, power input level,signal-to-noise ratio, microphone channel identification, and/or otherinformation of the given sound specimen, among other examples. Thus, insome embodiments, a frame may include a portion of sound (e.g., one ormore samples of a given sound specimen) and metadata regarding theportion of sound. In other embodiments, a frame may only include aportion of sound (e.g., one or more samples of a given sound specimen)or metadata regarding a portion of sound.

The voice processor 560 also includes at least one lookback buffer 569,which may be part of or separate from the memory 213 (FIG. 2A). Inoperation, the lookback buffer 569 can store sound metadata that isprocessed based on the detected-sound data S_(D) received from themicrophones 222. In at least some embodiments, the sound metadata may betransmitted separately from the sound-data stream S_(DS), as reflectedin the arrow extending from the lookback buffer 569 to the networkinterface 224. For example, the sound metadata may be transmitted fromthe lookback buffer 569 to one or more remote computing devices separatefrom the VAS which receives the sound-data stream S_(DS).

In any case, components of the NMD 503 downstream of the voice processor560 may process the sound-data stream S_(DS). For instance, thewake-word engine 570 can be configured to apply one or moreidentification algorithms to the sound-data stream S_(DS) (e.g.,streamed sound frames) to spot potential wake words in thedetected-sound S_(D). When the wake-word engine 570 spots a potentialwake word, the wake-word engine 570 can provide an indication of a“wake-word event” (also referred to as a “wake-word trigger”) to thevoice extractor 572 in the form of signal S_(W).

In response to the wake-word event (e.g., in response to a signal S_(W)from the wake-word engine 570 indicating the wake-word event), the NMD503 can transition from the inactive state to the active state. As usedherein, the “inactive state” refers to the state in which the NMD 503captures and processes sound data to identify a wake word (e.g., viawake-word engine 570), but does not transmit data via a networkinterface to other devices for further processing. In this inactivestate, the NMD 503 remains in a standby mode, ready to transition to anactive state if a wake-word is detected, but not yet transmitting anydata based on detected sound via a network interface.

In the active state, the voice extractor 572 receives and formats (e.g.,packetizes) the sound-data stream S_(DS). For instance, the voiceextractor 572 packetizes the frames of the sound-data stream S_(DS) intomessages. The voice extractor 572 transmits or streams these messages,M_(V), that may contain voice input in real time or near real time to aremote VAS, such as the VAS 190 (FIG. 1B), via the network interface224.

The VAS is configured to process the sound-data stream S_(DS) containedin the messages M_(V) sent from the NMD 503. More specifically, the VASis configured to identify voice input based on the sound-data streamS_(DS). Referring to FIG. 6A, a voice input 680 may include a wake-wordportion 680 a and an utterance portion 680 b. The wake-word portion 680a corresponds to detected sound that caused the wake-word event. Forinstance, the wake-word portion 680 a corresponds to detected sound thatcaused the wake-word engine 570 to provide an indication of a wake-wordevent to the voice extractor 572. The utterance portion 680 bcorresponds to detected sound that potentially comprises a user requestfollowing the wake-word portion 680 a.

As an illustrative example, FIG. 6B shows an example first soundspecimen. In this example, the sound specimen corresponds to thesound-data stream S_(DS) (e.g., one or more audio frames) associatedwith the spotted wake word 680 a of FIG. 6A. As illustrated, the examplefirst sound specimen comprises sound detected in the playback device 102i's environment (i) immediately before a wake word was spoken, which maybe referred to as a pre-roll portion (between times t₀ and t₁), (ii)while the wake word was spoken, which may be referred to as a wake-meterportion (between times t₁ and t₂), and/or (iii) after the wake word wasspoken, which may be referred to as a post-roll portion (between timest₂ and t₃). Other sound specimens are also possible.

Typically, the VAS may first process the wake-word portion 680 a withinthe sound-data stream S_(DS) to verify the presence of the wake word. Insome instances, the VAS may determine that the wake-word portion 680 acomprises a false wake word (e.g., the word “Election” when the word“Alexa” is the target wake word). In such an occurrence, the VAS maysend a response to the NMD 503 (FIG. 5 ) with an indication for the NMD503 to cease extraction of sound data (i.e., to transition from theactive state back to the inactive state), which may cause the voiceextractor 572 to cease further streaming of the detected-sound data tothe VAS. The wake-word engine 570 may resume or continue monitoringsound specimens until another potential wake word, leading to anotherwake-word event. In some implementations, the VAS may not process orreceive the wake-word portion 680 a but instead processes only theutterance portion 680 b.

In any case, the VAS processes the utterance portion 680 b to identifythe presence of any words in the detected-sound data and to determine anunderlying intent from these words. The words may correspond to acertain command and certain keywords 684 (identified individually inFIG. 6A as a first keyword 684 a and a second keyword 684 b). A keywordmay be, for example, a word in the voice input 680 identifying aparticular device or group in the MPS 100. For instance, in theillustrated example, the keywords 684 may be one or more wordsidentifying one or more zones in which the music is to be played, suchas the Living Room and the Dining Room (FIG. 1A).

To determine the intent of the words, the VAS is typically incommunication with one or more databases associated with the VAS (notshown) and/or one or more databases (not shown) of the MPS 100. Suchdatabases may store various user data, analytics, catalogs, and otherinformation for natural language processing and/or other processing. Insome implementations, such databases may be updated for adaptivelearning and feedback for a neural network based on voice-inputprocessing. In some cases, the utterance portion 680 b may includeadditional information, such as detected pauses (e.g., periods ofnon-speech) between words spoken by a user, as shown in FIG. 6A. Thepauses may demarcate the locations of separate commands, keywords, orother information spoke by the user within the utterance portion 680 b.

Based on certain command criteria, the VAS may take actions as a resultof identifying one or more commands in the voice input, such as thecommand 682. Command criteria may be based on the inclusion of certainkeywords within the voice input, among other possibilities.Additionally, or alternatively, command criteria for commands mayinvolve identification of one or more control-state and/or zone-statevariables in conjunction with identification of one or more particularcommands. Control-state variables may include, for example, indicatorsidentifying a level of volume, a queue associated with one or moredevices, and playback state, such as whether devices are playing aqueue, paused, etc. Zone-state variables may include, for example,indicators identifying which, if any, zone players are grouped.

After processing the voice input, the VAS may send a response to the MPS100 with an instruction to perform one or more actions based on anintent it determined from the voice input. For example, based on thevoice input, the VAS may direct the MPS 100 to initiate playback on oneor more of the playback devices 102, control one or more of thesedevices (e.g., raise/lower volume, group/ungroup devices, etc.), turnon/off certain smart devices, among other actions. After receiving theresponse from the VAS, the wake-word engine 570 the NMD 503 may resumeor continue to monitor the sound-data stream S_(DS) until it spotsanother potential wake-word, as discussed above.

Referring back to FIG. 5 , in multi-VAS implementations, the NMD 503 mayinclude a VAS selector 574 (shown in dashed lines) that is generallyconfigured to direct the voice extractor's extraction and transmissionof the sound-data stream S_(DS) to the appropriate VAS when a givenwake-word is identified by a particular wake-word engine, such as thefirst wake-word engine 570 a, the second wake-word engine 570 b, or theadditional wake-word engine 571. In such implementations, the NMD 503may include multiple, different wake-word engines and/or voiceextractors, each supported by a particular VAS. Similar to thediscussion above, each wake-word engine may be configured to receive asinput the sound-data stream S_(DS) from the one or more buffers 568 andapply identification algorithms to cause a wake-word trigger for theappropriate VAS. Thus, as one example, the first wake-word engine 570 amay be configured to identify the wake word “Alexa” and cause the NMD503 to invoke the AMAZON VAS when “Alexa” is spotted. As anotherexample, the second wake-word engine 570 b may be configured to identifythe wake word “Ok, Google” and cause the NMD 503 to invoke the GOOGLEVAS when “Ok, Google” is spotted. In single-VAS implementations, the VASselector 574 may be omitted.

In additional or alternative implementations, the NMD 503 may includeother voice-input identification engines 571 (shown in dashed lines)that enable the NMD 503 to operate without the assistance of a remoteVAS. As an example, such an engine may identify in detected soundcertain commands (e.g., “play,” “pause,” “turn on,” etc.) and/or certainkeywords or phrases, such as the unique name assigned to a givenplayback device (e.g., “Bookcase,” “Patio,” “Office,” etc.). In responseto identifying one or more of these commands, keywords, and/or phrases,the NMD 503 may communicate a signal (not shown in FIG. 5 ) that causesthe audio processing components 216 (FIG. 2A) to perform one or moreactions. For instance, when a user says “Hey Sonos, stop the music inthe office,” the NMD 503 may communicate a signal to the office playbackdevice 102 n, either directly, or indirectly via one or more otherdevices of the MPS 100, which causes the office device 102 n to stopaudio playback. Reducing or eliminating the need for assistance from aremote VAS may reduce latency that might otherwise occur when processingvoice input remotely. In some cases, the identification algorithmsemployed may be configured to identify commands that are spoken withouta preceding wake word. For instance, in the example above, the NMD 503may employ an identification algorithm that triggers an event to stopthe music in the office without the user first saying “Hey Sonos” oranother wake word.

III. Example Systems and Methods for Maintaining Voice AssistantPersistence Across Multiple Network Microphone Devices

As noted above, in some cases an environment can contain multiple NMDsdisposed in various locations. For example, a user may have a first NMDin the master bedroom, a second NMD on a living room shelf, and a thirdNMD in the den. In the case of extended voice interactions via an NMD(e.g., a multi-turn conversation with a VAS), it can be useful tocoordinate among the various NMDs so that responsibility for detection,capture, and transmission of voice input as well as outputting responsesto a user can be assigned to appropriate NMDs. For example, in someembodiments, one or more NMDs may detect a wake word in a captured voiceinput from a user. Upon detecting the wake word, some or all of theseNMDs may transition from an inactive state (in which the NMD listens fora wake word in detected sound but does not transmit a voice utterance toa VAS or other device for processing) to an active state (in which theNMD captures voice input and transmits data to a VAS or other device forprocessing). In the active state, each NMD may proceed to transmit thevoice utterance of the voice input to a VAS for processing, and may alsocontinue to capture additional voice input.

As the user continues to interact with the VAS, the particular NMDdesignated to output responses from the VAS can vary. For example, whilethe user is positioned nearest to a first NMD in the master bedroom, aresponse from the VAS may be output only via the first NMD. Later,during the same conversation (e.g., a multi-turn conversation) or duringa separate interaction with the VAS, the user may be positioned closerto the second NMD in the living room. Accordingly, at this later time, aresponse from the VAS may be output only via the second NMD. Thisprocess can continue dynamically, with the NMD responsible foroutputting responses being selected based on user location, detectedvoice characteristics, other factors, or combinations of certainfactors. In some embodiments, some or all of the NMDs can transitionfrom the active state back to the inactive state after a predeterminedtime, for example a predetermined period of time after the last responseoutput from that particular NMD, or after a predetermined time followingthe last response output from any of the NMDs. Accordingly, as describedin more detail below, multiple NMDs may coordinate to provide the userexperience of a persistent VAS interaction across multiple NMDs.

FIGS. 7-9 are signal line diagrams illustrating example data flowsbetween a first NMD 503 a, a second NMD 503 b, and a VAS 190. Althoughonly two NMDs are illustrated, the data flows described below can begeneralized to any number of NMDs. Additionally, the data flows can beextended to additional VASes. Referring to FIG. 7 , a first NMD 503 acaptures a voice input based on user speech (block 701 a), detects awake word in the voice input (block 703 a), and optionally selects a VASbased on the wake word (block 705 a) in the case of NMDs configured tointeract with multiple VASes. The first NMD 503 a then transmits a voiceutterance 706 a of the voice input to the VAS 190 for processing. Thesesteps can be carried out as described above with respect to FIGS. 5-6B.In some embodiments, the voice utterance 706 a can be transmitted viathe network interface 224 (FIG. 5 ) of the first NMD 503 a, for exampleover the LAN 111 or the WAN 107 (FIG. 1B). The first NMD 503 a mayconcurrently transmit other information to the VAS 190 with the voiceutterance 706 a. For example, the first NMD 503 a may transmit metadata,such as metadata associated with a state of a media playback state, asdisclosed, for example, in previously referenced U.S. application Ser.No. 15/438,749.

A second NMD 503 b may perform similar or identical steps in parallel tothe first NMD 503 a, for example capturing a voice input based on thesame user speech (block 701 b), detecting a wake word in the voice input(block 703 b), optionally selecting a VAS based on the wake word (block705 b), and transmitting the voice utterance 706 b to the VAS 190 forprocessing. In some embodiments, the first NMD 503 a and the second NMD503 b may both be positioned within the vicinity of the user whoprovides the voice input. As such, each of the first NMD 503 a and thesecond NMD 503 b capture a voice input based on the same user speech.Because each NMD may be positioned differently with respect to the user,and/or may have different characteristics (e.g., different number ofmicrophones, etc.), the particular sound data captured by each NMD maydiffer from one another.

In response to detecting the wake word in blocks 703 a and 703 b, thefirst and second NMDs 503 a and 503 b can each transition from theinactive state to the active state. As noted previously, in the inactivestate, the NMD evaluates detected sound to identify a wake word (i.e.,the occurrence of a wake-word event), but does not transmit sound datavia a network interface to other devices for further processing. In thisinactive state, the NMD 503 remains in a standby mode, ready totransition to an active state if a wake-word is detected, but not yettransmitting sound data based on detected sound via the networkinterface 224 (FIG. 5 ). In the active state, the NMD is enabled toextract the sound-data stream (as described above) and transmits orstreams this data, which may contain voice input in real time or nearreal time, to the VAS 190 via the network interface 224.

In some embodiments, one or both of the NMDs 503 a-b may provide anindication that the wake word has been detected and that the NMD hastransitioned to an active state. For example, one or both of the NMDs503 a-b may illuminate a status light, change a color of a status light,pulse a status light, play back an audible indicator (e.g., a chime, atext-to-speech output, etc.), vibrate, or provide any other indicator toa user that the wake word has been detected by that particular NMD andthat the NMD has transitioned from an inactive state to an active state.

In some embodiments, once an NMD (e.g., the first NMD 503 a) transitionsfrom the inactive state to the active state, a token or other statevariable is generated locally on the NMD (or another device on the localarea network 111) and indicates that the NMD is to maintain the activestate for a predetermined time. While the token persists (e.g., up untilthe predetermined time has elapsed), the NMD may continue to capturevoice input and, in some embodiments, continue to transmit sound databased on the captured voice input to the VAS 190 for processing. In someembodiments, the NMD transitions from the active state back to theinactive state after the predetermined time, and the token is updated,overwritten, or deleted from the NMD or other local device.

With continued reference to FIG. 7 , the VAS 190 may process the voiceutterances 706 a and 706 b received from the first and second NMDs 503 aand 503 b, respectively, to determine the user's intent (block 707).Based on the determined intent, the VAS 190 may send one or moreresponse messages 709 (e.g., packets) to the second NMD 503 b. In someinstances, the response message(s) 709 from the VAS 190 may include apayload with a text-to-speech output or a voice response, such asinformation provided to a user, a request for more information (as inthe case of multi-turn commands), or other suitable output. In additionor alternatively, the response message(s) 709 may include a payload thatdirects the second NMD 503 b to execute instructions. For example, theinstructions may direct the second NMD 503 b to play back media content,group devices, and/or perform other functions.

In some embodiments, although both the first NMD 503 a and the secondNMD 503 b captured voice input from the user, only one of the NMDs isselected (block 711) to output the response 709 from the VAS 190. Insuch embodiments, selection must be made between the first NMD 503 a andthe second NMD 503 b, such that only one is assigned responsibility tooutput the response 709, and the other is not. In other embodiments,both of the NMDs 503 a and 503 b may output the response 709 insynchrony.

In the data flow illustrated in FIG. 7 , the selection between the firstNMD 503 a and the second NMD 503 b in block 711 occurs via coordinationamong the first NMD 503 a and the second NMD 503 b. For example, thefirst and second NMDs 503 a-b can transmit one or more messages back andforth over a local area network regarding captured sound data, userlocation information, or any other relevant data to help determine whichNMD will be assigned responsibility for outputting the response. In someembodiments, each NMD can exchange data and, based on the exchangeddata, whichever NMD is determined to likely be nearer to the user isselected. In some embodiments, the particular NMD selected foroutputting the response can be determined at least in part based onfactors other than user location. For example, one NMD may be selectedover another based upon device characteristics, specified userpreference (e.g., a user may assign one NMD as “primary” or provide aranking of preferred NMDs for output), current playback responsibilities(e.g., the first NMD 503 a is currently playing back media content,while the second NMD 503 b is not), etc.

In various embodiments, user location information can include or bebased on any number of measured values, for example changing signallevels in captured voice input (e.g., increasing volume indicates a useris moving toward the NMD, while decreasing volume over time indicates auser is moving away from the NMD), changing acoustic signatures,detection of signal strength from a wireless proximity beacon (e.g., aBluetooth low energy (BTLE) transmitter, near-field communication (NFC)transmitter, etc.), or any other suitable technique. For example, auser's smartphone, smartwatch, or other device may be outfitted with oneor more wireless proximity beacons, allowing each NMD to independentlysense a user's proximity as the user moves about the environment. Insome embodiments, an NMD can be configured to emit an ultrasound signaland, based on the detected reflected ultrasound received at the NMD,determine a user's location, as described in U.S. patent applicationSer. No. 16/149,992, entitled “Systems and Methods of UserLocalization,” which is hereby incorporated by reference in itsentirety.

In the example data flow illustrated in FIG. 7 , in the selection ofblock 711, the first NMD 503 a is identified for outputting theresponse. For example, via communication between the first NMD 503 a andthe second NMD 503 b, the user may be determined to be nearer to thefirst NMD 503 a than to the second NMD 503 b. In some embodiments, inresponse to the selection, the token or other local state variableassociated with the selected NMD can be updated to reflect that the NMDis assigned responsibility to output the response 709 from the VAS 190.In some embodiments, this transition can be accompanied by anindication, for example illumination of a light, changing color of alight, pulsing a light, providing a chime or other sound, or any othersuitable indicator that the NMD has been selected for outputting theresponse to the user.

Following the selection of block 711, the first NMD 503 a forwards theresponse 709 to the first NMD 503 a for output, for example transmittingthe response 709 over a local area network. In block 713, the first NMD503 a outputs the response. For example, in the case of a voice output,the NMD 503 a can play back the voice output to be heard by a user.

FIG. 8 illustrates another signal line diagram illustrating an exampledata flow between first and second NMDs 503 a-b and a VAS 190. The dataflow can initially be similar to that described above with respect toFIG. 7 , including capturing voice input (blocks 701 a-b), detecting awake word (blocks 703-b), optionally selecting a VAS based on the wakeword (blocks 705 a-b), transmitting the voice utterances 706 a-b to theVAS 190, and determining the user intent (block 707).

However, whereas in FIG. 7 the VAS 190 provided a response 709 only tothe second NMD 503 b, in the example of FIG. 8 the VAS 190 provides theresponse 709 to both the first NMD 503 a and the second NMD 503 b. Theresponses 709 can be transmitted to each NMD directly over a wide areanetwork, or over a wide area network in combination with the local areanetwork. The selection (block 711) of a particular NMD to output theresponse (block 713) can be performed as described above with respect toFIG. 7 . However, in FIG. 8 , each NMD has received the response fromthe VAS 190. Accordingly, once the selection has been made, there is noneed to forward the response, regardless of which VAS is selected.

FIG. 9 illustrates a third signal line diagram illustrating an exampledata flow between first and second NMDs 503 a-b and a VAS 190. The dataflow can initially be similar to that described above with respect toFIGS. 7 and 8 , including capturing voice input (blocks 701 a-b),detecting a wake word (blocks 703-b), optionally selecting a VAS basedon the wake word (blocks 705 a-b), transmitting the voice utterances 706a-b to the VAS 190, and determining the user intent (block 707).

In contrast to the examples of FIGS. 7 and 8 , in the example of FIG. 9the selection (block 711) of the particular NMD to be assignedresponsibility for outputting the response is performed at the VAS 190.In some embodiments, the VAS 190 selects between the possible NMDs basedon data received from the NMDs 503 a-b. For example, the NMDs 503 a-bcan transmit data to the VAS 190 as part of the voice utterance 706 a-bor in addition to the voice utterances 706 a-b. Such data can include,for example, user location information, signal levels in captured voiceinput, changing acoustic signatures, wireless proximity beacon signallevels, ultrasonic location tracking data, or any other data for the VAS190 to select one NMD over another for outputting the response.

Once the VAS 190 has selected the second NMD 503 b, the response 709 istransmitted only to the second NMD 503 b. In block 713, the second NMD503 b then outputs the response (block 713), for example playing back avoice response received from the VAS 190.

FIG. 10 is a schematic view of a user navigating an environment having amedia playback system 100 configured in accordance with aspects of thedisclosure. In the illustrated environment, a plurality of NMDs 103 aredisposed about the environment. These NMDs are in communication witheach other over a local area network (e.g., via the router 109 and wiredand/or wireless connections (not shown)) and with remote computingdevices 106 and a VAS 190 via the WAN 107, as described above withrespect to FIGS. 1A and 1B. Because each NMD 103 is positioned in adifferent location, each will capture different sound data based on thesame sound source. For example, a user's speech will be captured asdifferent sound data in a first NMD that is positioned nearer to theuser than in a second NMD that is further from the user. The dashedlines extending from each NMD schematically illustrate the area in whicheach NMD 103 is best positioned to capture voice input from a user.

Embodiments of the present technology enable a user to maintain anextended voice interaction even while moving about the environment byallowing the individual NMDs 103 to coordinate and hand-offresponsibility for capturing voice input from the user and foroutputting responses to the user. As one example, the user in locationL1 may speak a wake word followed by a voice utterance (e.g., “HeySonos, play Stranger Things”). The right NMD 103 a and the front NMD 103b may both detect the wake word event and transition into an activestate. For example, each may generate a local token or other statevariable indicating that these NMDs are to maintain the active state fora predetermined time. While the tokens persist (e.g., up until thepredetermined time has elapsed), the NMDs 103 a and 103 b may continueto capture voice input and, in some embodiments, continue to transmitthe captured voice input to the VAS 190 for processing. In someembodiments, additional nearby NMDs (e.g., dining room NMD 103 f) mayalso be activated, even if those NMDs did not themselves detect the wakeword.

A response from the VAS 190 can include a voice output (e.g., “Openingyour recently viewed shows on Netflix”) to be output via only one of theNMDs 103. The media playback system 100 can select among the activatedNMDs (e.g., between the right NMD 103 a and the front NMD 103 b). Asdescribed previously, this selection can be performed locally (e.g., theindividual NMDs 103 a and 103 b may transmit data and determine whichwill be selected), remotely (e.g., the individual NMDs 103 a and 103 bcan transmit data to the VAS 190 which can select one of the NMDs foroutput of the response), or some combination thereof. In some cases, theselection can be based at least in part on user location information(e.g., derived from sound levels, wireless proximity beacon signals, orother data). For example, if the user is facing toward the front NMD 103b when speaking, the front NMD 103 b may detect higher signal levels inthe voice input, and as such may be selected for outputting theresponse. If the front NMD 103 b is selected, then the front NMD 103 bprovides the response (e.g., “Opening your recently viewed shows onNetflix”). In some instances, a status light, audible chime, or otherindicator of the front NMD 103 b may be initiated upon selection of thefront NMD 103 b to inform a user which NMD has been selected for output.

While the tokens persist and the right NMD 103 a and the front NMD 103 bremain in the active state, the media playback system 100 may monitorfor user movement or other behavior. For example, the system 100 maydetect changes to acoustic room signatures, collect data from wirelessproximity beacon signals (e.g., Bluetooth® beacons), localize a user viaultrasonic reflection, etc. As an example, as the user moves fromlocation L1 to location L2, the user moves further from the front NMD103 b and much closer to the right NMD 103 a. Upon detecting thischange, the system can update the tokens (or other state variables) toindicate that the right NMD 103 a is now selected for outputting aresponse to the user. Optionally, a status light or other indicator canbe initiated on the right NMD 103 a to inform the user that the rightNMD 103 a has now been selected for outputting a response from the VASto the user, and any status indicator on the front NMD 103 b can beupdated to indicate that the front NMD 103 b is no longer providingoutput (e.g., a status light may be turned off). The right NMD 103 a maythen provide a further output to the user (e.g., “Would you like tocontinue watching season 2, episode 2?”).

In some embodiments, regardless of which NMD is selected for providingoutput, both the right NMD 103 a and the front NMD 103 b can maintainthe active state, and so can both capture additional voice input andoptionally transmit it to the VAS 190 for further processing. Forexample, in response to hearing the output from the right NMD 103 a, theuser may say “Yes.” The front NMD 103 b may output a response from theVAS 190 (e.g., “Okay,” followed by playback of the requested Netflix®content). After expiry of a predetermined time, the token (or otherstate variables) may expire such that the right NMD 103 a and the frontNMD 103 b are each transitioned from the active state back to theinactive state. These NMDs can remain in the inactive state until a wakeword is detected.

If the user moves to the third location L3, the change may be detectedby the media playback system 100 and one or more additional NMDs may betransitioned from the inactive state to the active state. For example,upon detecting a change in the user's location toward location L3, themedia playback system 100 may activate the ceiling NMD 103 g, even ifthe ceiling NMD 103 g did not itself detect the wake word. If the userremains at that location, or if the ceiling NMD 103 g captures voiceinput from the user, then the ceiling NMD 103 g may be selected foroutputting responses to the user. As such, the tokens or other statevariables can be updated such that the right NMD 103 a no longer hasassigned responsibility for outputting a response to the user.

If, while at location L3, the user speaks the wake word and an utterance(e.g., “Hey Sonos, pause Netflix”), the voice input can be captured viathe ceiling NMD 103 g (and optionally may be captured by one or moreother NMDs in the vicinity) and transmitted to the VAS 190. If the userthen returns to location L2, the media playback system 100 may identifythe change in location and update the tokens to indicate that the rightNMD 103 a is selected to output the response. Accordingly, a responsefrom the VAS 190 (e.g., “would you like to resume watching StrangerThings?”) may be output via the right NMD 103 a. In this example, theresponse from the VAS 190 is unsolicited but prompted based on context.In this instance, the user has paused media while leaving the livingroom area, and has since returned to the living room area. As such, themedia playback system 100 may offer to resume media playback, even ifunsolicited by the user.

As shown in this example, the user is able to continue the conversationwith a VAS 190 across multiple NMDs (e.g., with voice input and responseoutput being handled variously by the right NMD 103 a, the front NMD 103b, and the ceiling NMD 103 g). In some embodiments, this conversationcan include multiple different NMDs without requiring the user to repeatthe wake word when moving from the vicinity of one NMD to the vicinityof another NMD. In some instances, even when one NMD does not itselfdetect the wake word, that NMD may be transitioned to the active stateand may participate in capturing voice input and outputting responses tothe user, based at least in part on messages received from other NMDsindicating that a wake word has been detected.

These examples illustrate a few limited scenarios of coordinating outputof responses among multiple NMDs while a user moves about anenvironment. Various other configurations and permutations are possible.For example, in some embodiments two or more NMDs may output a responsein synchrony. In some embodiments, one or more NMDs that did not detectthe wake word but are in the vicinity of the user (or in the vicinity ofNMDs that did detect the wake word) may be transitioned to the activestate for a predetermined time. In some embodiments, all activated NMDscan be configured to transition from the active state back to theinactive state simultaneously, while in other embodiments each NMD canhave its own predetermined expiry period. For example, each NMD 103 maytransition from the active state back to the inactive state after expiryof a predetermined period following the last response output by thatparticular NMD, or following the last captured voice input that meetscertain threshold criteria (e.g., at least a certain volume level,etc.).

In some embodiments, when two or more NMDs are in the active state, oneNMD may utilize sound data captured from microphones of another NMD tofacilitate processing of voice input. For example, a first NMD may usesound data from its own microphones in addition to sound data capturedby one or more microphones of a second NMD to process voice input fromthe user. By combining sound data from microphones of different NMDs,voice input can be more accurately captured, and environmental noise canbe more effectively filtered. Additional details regarding utilizingsound data from a plurality of different NMDs for use in voiceprocessing can be found in U.S. application Ser. No. 16/147,710,entitled “Linear Filtering for Noise-Suppressed Speech Detection ViaMultiple Network Microphone Devices,” which is hereby incorporated byreference in its entirety.

As noted above, in some embodiments an NMD can be transitioned from theactive state back to the inactive state after expiry of a predeterminedtime. For example, the predetermined time can be a length of time (e.g.,0.5 seconds, 1 second, 2 seconds, 5 seconds, 10 seconds, 30 seconds, 1minute) from a particular event. The event may be, for example, the lastresponse output from that particular NMD, the last voice input capturedby that particular NMD, the last response output from any NMD in theenvironment, the last voice input captured by any NMD in thatenvironment, or any other suitable event.

In some embodiments, the predetermined time can increase or decreasedepending on the number of NMDs that detected the wake-word event invoice input from the user. For example, if only one NMD detects the wakeword, the predetermined time may be 1 seconds, whereas if two or moreNMDs detect the wake word, the predetermined time may be 5 seconds. Sucha determination may occur, for example, in conjunction with theselection of the particular NMD for outputting a response, as describedabove with respect to block 711 of FIGS. 7-9 .

In some embodiments, the predetermined time can be incremented when aconversation is determined to be ongoing. For example, multi-turnconversations between a user and a VAS can include a number of uservoice inputs and a number of VAS responses output via one or more NMDs.In such instances, the predetermined amount of time can be increasedincrementally with each further event in the conversation. For example,an additional 5 seconds may be added to the predetermined time (or theremaining predetermined time after some portion of the time has elapsed)each time an NMD outputs an additional response from the VAS. As anotherexample, an additional 5 seconds may be added to the predetermined time(or the remaining predetermined time) each time another voice input isreceived via one or more NMDs and transmitted to the VAS for processing.As a result, some of all of the NMDs can maintain the active state forthe duration of the multi-turn conversation, only returning to theinactive state after the conversation is determined to be concluded.

FIG. 11 is a flow diagram of a method 1100 for maintaining voiceassistant persistence across multiple NMDs in accordance with aspects ofthe disclosure. Various embodiments of method 1100 include one or moreoperations, functions, and actions illustrated by blocks 1102 through1118. Although some blocks are illustrated in sequential order, theseblocks may also be performed in parallel, and/or in a different orderthan the order disclosed and described herein. Also, the various blocksmay be combined into fewer blocks, divided into additional blocks,and/or removed based upon a desired implementation.

The method 1100 begins at block 1102 a with detecting sound via a firstNMD, and the second NMD detecting sound in parallel in block 1102 b. Thedetected sound can be, for example a voice input from a user thatincludes a wake word and a voice utterance such as a command, request,or other input. In blocks 1104 a and 1104 b, each of the first NMD andthe second NMD, respectively, identifies a wake word based on thedetected sound. After identifying the wake word, the first NMD and thesecond NMD can each capture and transmit over a network interface sounddata corresponding to sound detected by the first NMD.

In response to detecting the wake word, in blocks 1106 a and 1106 b thefirst NMD and the second NMD each transition from an inactive state toan active state. As noted above, in at least some embodiments, in theinactive state the NMD only captures audio input sufficient to detect awake word, for example storing only a small segment of audio in a localbuffer (e.g., buffers 568 and/or lookback buffer 569 of FIG. 5 ) andcontinuously overwriting newly captured audio input until a wake word isdetected. Upon detecting the wake word, the first NMD transitions to theactive state, in which captured sound data is extracted and transmittedvia a network interface, for example to another device on a localnetwork or to a remote computing device associated with a VAS. In someembodiments, once the first NMD transitions to the activate state, anindicator can be initiated to reflect the change in state. For example,the first NMD may illuminate a status light, change the color or pulseof a light, emit a chime or other audible output, vibrate, or provideany other output to indicate the change in status. In other embodiments,the first NMD may provide no external indication of the change in statusfrom an inactive state to an active state.

Next, the method 1100 advances to block 1108, with receiving, via atleast one of the first NMD or the second NMD, a first message. Themessage can indicate that the first NMD is selected over the second NMDto output a response, and can also indicate that each of the first andsecond NMDs are to remain in the active state. In various embodiments,the message can be received (1) at the first NMD from the second NMD,(2) at the second NMD from the first NMD, (3) at the first or second NMDfrom another device on the local network, (4) at the first or second NMDfrom a remote VAS via a WAN, or any combination thereof. As indicated inthe received message, the first NMD has been selected to output aresponse. As discussed above, this selection can be performed locallyamong the NMDs or other devices on a local network, on a remotecomputing device associated with a VAS, or some combination thereof. Theselection can be based on user location information or other datarelevant to selecting a particular NMD for outputting a response to theuser's voice input.

In block 1110, the first NMD outputs the first response. For example, inthe case of a voice output, the first NMD can play back the voice outputto be heard by a user.

Next, in blocks 1112 a and 1112 b, the first NMD and the second NMD,respectively, capture and transmit further sound data. As noted in block1108, each of the first NMD and the second NMD remain in the activestate, and accordingly can continue to capture voice input from a user.For example, in the case of multi-turn conversations with a VAS, theNMDs can capture and transmit a further user input in response to theresponse output in block 1110.

The method 1100 continues in block 1114 with receiving, via at least oneof the first NMD or the second NMD, a second message indicating that thesecond NMD is selected over the first NMD to output a second response.In block 1116, the second NMD outputs the second response (e.g., a voiceoutput).

In various embodiments, the second message can be received (1) at thefirst NMD from the second NMD, (2) at the second NMD from the first NMD,(3) at the first or second NMD from another device on the local network,(4) at the first or second NMD from a remote VAS via a WAN, or anycombination thereof. As discussed above with respect to block 1108, theselection predicating the second message can be performed locally orremotely, on a single device or via a plurality of devices working inconcert. In some embodiments, the selection of the second NMD is basedat least in part on user location. For example, if the user waspreviously determined to be closer to the first NMD, but has since movedcloser to the second NMD, then the second NMD may be selected foroutputting the second response, even though the first NMD was previouslyselected for output.

In block 1118, at least one of the first NMD or the second NMD istransitioned from an active state back to the inactive state followingexpiry of a predetermined amount of time after the second respond isoutput via the second NMD. For example, in some embodiments the secondNMD can be transitioned back to the inactive state after a predeterminedperiod of time (e.g., after more than 30 seconds, after more than 1minute, etc.) following output of the second response. In someembodiments, each NMD that has been transitioned to the active state viadetection of the wake word can be transitioned back to the inactivestate substantially simultaneously. For example, any activated NMDs canbe transitioned back to the inactive state after expiry of apredetermined time following the last output from any NMD. In otherembodiments, at least one of the NMDs may be transitioned to theinactive state at a separate time from another NMD. For example, in someembodiments, each NMD can be transitioned back to the inactive state apredetermined time after that particular NMD has output a response,regardless of other responses output by other NMDs.

CONCLUSION

The description above discloses, among other things, various examplesystems, methods, apparatus, and articles of manufacture including,among other components, firmware and/or software executed on hardware.It is understood that such examples are merely illustrative and shouldnot be considered as limiting. For example, it is contemplated that anyor all of the firmware, hardware, and/or software aspects or componentscan be embodied exclusively in hardware, exclusively in software,exclusively in firmware, or in any combination of hardware, software,and/or firmware. Accordingly, the examples provided are not the onlyway(s) to implement such systems, methods, apparatus, and/or articles ofmanufacture.

The specification is presented largely in terms of illustrativeenvironments, systems, procedures, steps, logic blocks, processing, andother symbolic representations that directly or indirectly resemble theoperations of data processing devices coupled to networks. These processdescriptions and representations are typically used by those skilled inthe art to most effectively convey the substance of their work to othersskilled in the art. Numerous specific details are set forth to provide athorough understanding of the present disclosure. However, it isunderstood to those skilled in the art that certain embodiments of thepresent disclosure can be practiced without certain, specific details.In other instances, well known methods, procedures, components, andcircuitry have not been described in detail to avoid unnecessarilyobscuring aspects of the embodiments. Accordingly, the scope of thepresent disclosure is defined by the appended claims rather than theforgoing description of embodiments.

When any of the appended claims are read to cover a purely softwareand/or firmware implementation, at least one of the elements in at leastone example is hereby expressly defined to include a tangible,non-transitory medium such as a memory, DVD, CD, Blu-ray, and so on,storing the software and/or firmware.

The invention claimed is:
 1. A method comprising: detecting sound (a)via one or more microphones of a first network microphone device (NMD)and (b) via one or more microphones of a second NMD; identifying, viathe first NMD, a wake word based on the sound as detected by the firstNMD; identifying, via the second NMD, the wake word based on the soundas detected by the second NMD; after identifying the wake word via thefirst NMD, and while the first NMD is in an active state, capturingfirst sound data via the first NMD and transmitting the first sound dataover a network interface; after identifying the wake word via the secondNMD, and while the second NMD is in an active state, capturing secondsound data via the second NMD and transmitting the second sound dataover a network interface; after transmitting the first and second sounddata captured by the respective first and second NMDs, receiving, viathe first NMD, one or more first messages indicating that (a) the firstNMD is selected over the second NMD to output a first response and (b)each of the first and second NMD are to remain in the active state forfurther capturing and transmitting of sound data; outputting the firstresponse via the first NMD; without detecting another instance of a wakeword, receiving, via the first NMD, one or more second messagesindicating that the second NMD is selected over the first NMD to outputa second response; forwarding the second response from the first NMD tothe second NMD over a local area network; outputting the second responsevia the second NMD; after outputting the second response: receiving, viathe first NMD, a third response; forwarding the third response from thefirst NMD to the second NMD over the local area network; and outputtingthe third response via the second NMD.
 2. The method of claim 1, furthercomprising, upon expiry of a predetermined amount of time afteroutputting the third response, transitioning at least one of the firstor second NMDs from the active state to an inactive state.
 3. The methodof claim 2, further comprising, upon expiry of the predetermined amountof time after outputting the third response via the second NMD,transitioning the first NMD from the active state back to the inactivestate, wherein the second NMD remains in the active state beyond expiryof the predetermined amount of time.
 4. The method of claim 1, furthercomprising, after identifying the wake word via the first NMD or afteridentifying the wake word via the second NMD, selecting the first NMDover the second NMD to output the first response, wherein the selectingis based at least in part on user location information.
 5. The method ofclaim 1, further comprising: obtaining, via the first NMD or the secondNMD, user location information; and before receiving, via the first NMD,the one or more first messages, transmitting the user locationinformation via a network interface of the first NMD or the second NMD.6. The method of claim 1, further comprising, after identifying the wakeword via the first NMD or after identifying the wake word via the secondNMD, transitioning a third NMD from an inactive state to an active statein which the third NMD captures and transmits over a network interfacesound data corresponding to sound as detected by the third NMD, whereinthe third NMD did not identify the wake word based on the sound.
 7. Themethod of claim 6, further comprising transitioning the third NMD fromthe active state back to the inactive state after expiry of apredetermined amount of time without outputting a response via the thirdNMD.
 8. Tangible, non-transitory, computer-readable medium storinginstructions executable by one or more processors to cause a mediaplayback system comprising first and second network microphone devices(NMDs) to perform operations comprising: detecting sound (a) via one ormore microphones of a first network microphone device (NMD) and (b) viaone or more microphones of a second NMD; identifying, via the first NMD,a wake word based on the sound as detected by the first NMD;identifying, via the second NMD, the wake word based on the sound asdetected by the second NMD; after identifying the wake word via thefirst NMD, and while the first NMD is in an active state, capturingfirst sound data via the first NMD and transmitting the first sound dataover a network interface; after identifying the wake word via the secondNMD, and while the second NMD is in an active state, capturing secondsound data via the second NMD and transmitting the second sound dataover a network interface; after transmitting the first and second sounddata captured by the respective first and second NMDs, receiving, viathe first NMD, one or more first messages indicating that (a) the firstNMD is selected over the second NMD to output a first response and (b)each of the first and second NMD are to remain in the active state forfurther capturing and transmitting of sound data; outputting the firstresponse via the first NMD; without detecting another instance of a wakeword, receiving, via the first NMD, one or more second messagesindicating that the second NMD is selected over the first NMD to outputa second response; forwarding the second response from the first NMD tothe second NMD over a local area network; outputting the second responsevia the second NMD; after outputting the second response: receiving, viathe first NMD, a third response; forwarding the third response from thefirst NMD to the second NMD over the local area network; and outputtingthe third response via the second NMD.
 9. The computer-readable mediumof claim 8, the operations further comprising, upon expiry of apredetermined amount of time after outputting the third response,transitioning at least one of the first or second NMDs from the activestate to an inactive state.
 10. The computer-readable medium of claim 9,the operations further comprising, upon expiry of the predeterminedamount of time after outputting the third response via the second NMD,transitioning the first NMD from the active state back to the inactivestate, wherein the second NMD remains in the active state beyond expiryof the predetermined amount of time.
 11. The computer-readable medium ofclaim 8, the operations further comprising, after identifying the wakeword via the first NMD or after identifying the wake word via the secondNMD, selecting the first NMD over the second NMD to output the firstresponse, wherein the selecting is based at least in part on userlocation information.
 12. The computer-readable medium of claim 8, theoperations further comprising: obtaining, via the first NMD or thesecond NMD, user location information; and before receiving, via thefirst NMD, the one or more first messages, transmitting the userlocation information via a network interface of the first NMD or thesecond NMD.
 13. The computer-readable medium of claim 8, the operationsfurther comprising, after identifying the wake word via the first NMD orafter identifying the wake word via the second NMD, transitioning athird NMD from an inactive state to an active state in which the thirdNMD captures and transmits over a network interface sound datacorresponding to sound as detected by the third NMD, wherein the thirdNMD did not identify the wake word based on the sound.
 14. Thecomputer-readable medium of claim 13, the operations further comprisingtransitioning the third NMD from the active state back to the inactivestate after expiry of a predetermined amount of time without outputtinga response via the third NMD.
 15. A media playback system comprising:first and second network microphone devices (NMDs), the first NMDcomprising: a first one or more processors; a first one or moremicrophones; a first tangible, non-transitory, computer-readable mediumstoring instructions executable by the first one or more processors tocause the first NMD to perform first operations comprising: detectingsound via the first one or more microphones; identifying a wake wordbased on the sound as detected by the first one or more microphones;after identifying the wake word via the first one or more microphones,and while the first NMD is in active state, capturing first sound datavia the first NMD and transmitting the first sound data over a networkinterface; after transmitting the first sound data, receiving one ormore first messages indicating that (a) the first NMD is selected overthe second NMD to output a first response and (b) each of the first andsecond NMD are to remain in the active state for further capturing andtransmitting of sound data; and outputting the first response; withoutdetecting another instance of a wake word, receiving, via the first NMD,one or more second messages indicating that the second NMD is selectedover the first NMD to output a second response; forwarding the secondresponse from the first NMD to the second NMD over a local area network;after receiving the one or more second messages indicating that thesecond NMD is selected over the first NMD to output the second response,receiving, via the network interface of the first NMD, a third response;and forwarding the third response from the first NMD to the second NMDover the local area network; the second NMD comprising: a second one ormore processors; a second one or more microphones; a second tangible,non-transitory, computer-readable medium storing instructions executableby the second one or more processors to cause the second NMD to performsecond operations comprising: detecting the sound via the second one ormore microphones; identifying the wake word based on the sound asdetected by the second one or more microphones; after identifying thewake word via the second one or more microphones, and while the secondNMD is in an active state, capturing second sound data via the secondNMD and transmitting the second sound data over a network interface;receiving the second response from the first NMD over the local areanetwork; outputting the second response; receiving the third responsefrom the first NMD over the local area network; and outputting the thirdresponse.
 16. The system of claim 15, the second operations furthercomprising, upon expiry of a predetermined amount of time afteroutputting the third response, transitioning the second NMD from theactive state to an inactive state.
 17. The system of claim 16, the firstoperations further comprising, upon expiry of the predetermined amountof time after outputting the third response via the second NMD,transitioning the first NMD from the active state to an inactive state,wherein the second NMD remains in the active state beyond expiry of thepredetermined amount of time.
 18. The system of claim 15, the firstoperations further comprising, after identifying the wake word via thefirst NMD, selecting the first NMD over the second NMD to output thefirst response, wherein the selecting is based at least in part on userlocation information.
 19. The system of claim 18, the first and secondoperations further comprising: obtaining, via the first NMD, userlocation information; and before receiving, via the first NMD, the oneor more first messages, transmitting the user location information via anetwork interface.
 20. The system of claim 15, further comprising athird NMD comprising: a third one or more processors; a third one ormore microphones; a third tangible, non-transitory, computer-readablemedium storing instructions executable by the third one or moreprocessors to cause the third NMD to perform third operationscomprising: receiving one or more third messages indicating that thethird NMD is to be transitioned from an inactive state to an activestate in which the third NMD captures and transmits over a networkinterface sound data corresponding to sound as detected by the thirdNMD, wherein receiving the one or more third messages is not in responseto detecting a wake word via the one or more third microphones; andtransitioning the third NMD from the inactive state to the active state.